我在点击电子邮件中的网址时尝试打开Android应用。该应用程序正在打开,问题是当我使用" Internet浏览器"它在浏览器上打开android,这意味着我将有两个Android应用程序实例。使用Chrome浏览器不会发生这种情况,它只会调用应用程序,而不会在浏览器上打开。
我使用以下方法解决了这个问题: 机器人:launchMode =" singleInstance"和android:launchMode =" singleTask" 但是我无法通过点击以打开应用的URL来访问参数。
网址结构:电子邮件:// act / parameter1 / parameter2
这是我的代码:
<activity
android:name=".Login"
android:screenOrientation="portrait"
android:exported="true"
android:windowSoftInputMode="stateHidden|adjustResize">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:host="act" android:scheme="email" />
</intent-filter>
</activity>
总之,我想只使用一个实例(不在浏览器上)打开应用程序,并且能够使用任何浏览器(Chrome,Internet,Firefox)来访问参数。
提前致谢
答案 0 :(得分:0)
您没有发布您的活动代码,但我会尝试猜测问题:如果您的活动是singleTask
,您需要处理onCreate()
中的意图和 onNewIntent()
。这是因为Activity
将只创建一次,然后每个下一个传入的Intent将由onNewIntent()