当我点击电子邮件中的URL时,我试图打开一个android应用程序。该应用程序正在打开时运行良好,问题是当我使用“ Internet浏览器”时,它会在浏览器中打开android,这意味着我将有两个Android应用程序实例。使用Chrome浏览器不会发生这种情况,它只会调用该应用,而不会在浏览器中打开。
我使用以下代码解决了此问题: android:launchMode =“ singleInstance”和android:launchMode =“ singleTask”,但我无法从打开应用程序的URL中获取参数。
网址结构: email:// 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)访问参数。
提前致谢
您没有发布活动代码,但是我将尝试猜测问题所在:如果您的活动是singleTask
,则需要处理中onCreate()
和中的传入Intent onNewIntent()
。这是因为Activity
将仅创建一次,然后每个下一个传入的Intent将由onNewIntent()
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句