我制作了一个创建和监听自定义 url 的应用程序。我的问题是应用程序的多个实例。例如,我创建一个 url 并通过短信将其发送给我的朋友。之后,我在我的应用程序中打开该短信(包含 url)。这会创建一个打开此 url 的我的应用程序的新实例。我希望一次只能有一个实例。我将如何实现这一目标。
谢谢,
我制作了一个创建和监听自定义 url 的应用程序。我的问题是应用程序的多个实例。例如,我创建一个 url 并通过短信将其发送给我的朋友。之后,我在我的应用程序中打开该短信(包含 url)。这会创建一个打开此 url 的我的应用程序的新实例。我希望一次只能有一个实例。我将如何实现这一目标。
谢谢,
android:launchMode=""
您可以在标记中添加属性activity
,在清单文件中,并将其设置为以下之一:
onNewIntent()
方法将 Intent 路由到该实例,而不是创建 Activity 的新实例。在打开 URL的AndroidManifest.xml中设置android:launchMode="singleTop"
为您的 Activity 。例如:
<activity android:name="com.abc.MainActivity" android:label="app_name"
android:launchMode="singleTop">
此外,如果您想捕捉新Intent
的内容,请在您的活动代码中覆盖以下方法:
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
setIntent(intent); //set new intent as current intent
}
用于android:launchMode="singleTask"
您Activity
的AndroidManifest.xml
. 有关更多信息,请查看有关Activity 的 LaunchMode 的文档。