如何在同一活动中启动时使用 2?



我有 2 个启动函数,如何在同一活动中使用两者。
深度链接的启动时和通知链接的第二次启动第一次开始

@Override
protected void onStart() {
super.onStart();
Intent intent = getIntent();
Uri data = intent.getData();
try {
String uriString = data.toString();
if (uriString.contains("hin")) {
uriString = uriString.replace("hin", "1");
}
webView.loadUrl(uriString);
}
catch (Exception e){
e.printStackTrace();
}
}

第二次启动

@Override
protected void onStart() {
super.onStart();
String webAdres = getIntent().getStringExtra("link"); //get link from firebase
try {
webView.loadUrl(webAdres);
}
catch (Exception e){
e.printStackTrace();
}
}

没有评论的声誉,所以发布评论作为答案: 从通知调用活动时,在意向中放置一个额外的字符串,然后检查被调用活动中额外的值应该有助于区分来源。然后你可以使用简单的if-else...

intent.putExtra("started_from","notification");

到从通知启动意图的代码,而对其他 startActivity 调用也是如此,只需更改值,然后在您的活动中

String startedFrom = getIntent().getStringExtra("started_from");

嗨,你可以这样做

@Override
protected void onStart() {
super.onStart();
try {
String webAdres = getIntent().getStringExtra("link"); //get link from firebase
if (webAdres != null && !webAdres.isEmpty()) {
webView.loadUrl(webAdres);
} else {
Uri data = intent.getData();
String uriString = data.toString();
if (uriString.contains("hin")) {
uriString = uriString.replace("hin", "1");
webView.loadUrl(uriString);
}
} catch(Exception e) {
}
}

最新更新