我可以选择在我的应用中启动浏览器并加载imdb网站。 我正在使用ActionView。
Intent intent1 = new Intent(android.content.Intent.ACTION_VIEW,
Uri.parse(website));
try {
activity.startActivity(intent1);
} catch (Exception e) {
Toast.makeText(activity, R.string.no_imdb, Toast.LENGTH_SHORT)
.show();
}
点击后退按钮时出现问题。 当默认浏览器应用程序启动时,一切正常。 当Opera Mini应用程序启动时,当我点击后退按钮时,似乎我的应用程序收到两个后退动作,并完成我当前的活动。
如何防止这种情况?
答案 0 :(得分:6)
尝试在新任务中启动意图:
intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
或
intent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
答案 1 :(得分:1)
您还可以使用Airbnb DeepLink lib
示例
在此示例中,我们注册SampleActivity以从深层链接(例如example://example.com/deepLink/123)中提取ID。我们用@DeepLink进行了注释,并指定了一个将由ID标识的参数。
@DeepLink("example://example.com/deepLink/{id}")
public class SampleActivity extends Activity {
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
if (intent.getBooleanExtra(DeepLink.IS_DEEP_LINK, false)) {
Bundle parameters = intent.getExtras();
String idString = parameters.getString("id");
// Do something with idString
}
}
}
答案 2 :(得分:0)
请将其添加到您需要返回的活动的android清单中
<activity
android:name="YourActivityName"
android:launchMode="singleTask">
<intent-filter>
<action android:name="schemas.your_package.YourActivityName" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.ALTERNATIVE" />
</intent-filter>
</activity>
并将其添加到您的网页
<a href="intent:#Intent;action=schemas.your_package.YourActivityName;end">click to load app</a>
因为只有一个应用在您的手机上具有此操作名称(schemas.your_package.YourActivityName),所以网页直接返回到该应用