我有一项活动构成了我的应用程序的基础。这是问题。打开文件时防止应用程序/活动的多个实例
- 我创建了一个活动实例,名为
Instance1
。 - 我的活动然后通过导航返回到主菜单发送到背景。在
Instance1
上调用和onStop
。 - 然后我导航到
Gmail
并打开电子邮件附件。 - 这会创建我的活动“Instance2”的一个新实例(我知道这是因为我记录了实例)。我现在在我的活动中所做的任何事情都在这个新实例中。
- 如果我随后导航到gmail,
onDestroy
在Instance2
上被调用,那么如果我通过触摸图标打开我的应用程序,则调用原始的Instance1
onRestart
。
这里是我的意图过滤器在我的manifest.xml
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="*/*" />
<data android:pathPattern=".*\\.dog" />
</intent-filter>
我还增加了以下内容清单文件我的应用程序标签,但它没有任何效果。
android:launchMode="singleTask"
问题
为什么不能意识到有一个实例运行并打开?
加成
我用singleInstance和感动到我的活动标签。但是,现在我无法获取我的电子邮件附件数据?以前我使用了以下内容。
Intent intent = getIntent();
if (intent != null) {
Log.d("MainActivity","Intent not null");
Uri u = intent.getData();
if (u != null) {
Log.d("MainActivity","URI not null");
你试过单个实例吗? – njzk2
你尝试过'android:launchMode =“singleInstance”'? –