Android 在一个应用程序中使用相同的URL捕获意图
我正在制作一个android应用程序,它需要捕捉网站中共享网站的url。例如,您正在运行chrome,单击“共享”,选择您的应用程序,它将打开并管理该链接。我编写了以下代码: 舱单:Android 在一个应用程序中使用相同的URL捕获意图,android,android-intent,Android,Android Intent,我正在制作一个android应用程序,它需要捕捉网站中共享网站的url。例如,您正在运行chrome,单击“共享”,选择您的应用程序,它将打开并管理该链接。我编写了以下代码: 舱单: <activity android:name=".LoginActivity" android:label="@string/title_activity_login"> <intent-filter android:label="Hello"> <
<activity
android:name=".LoginActivity"
android:label="@string/title_activity_login">
<intent-filter android:label="Hello">
<action android:name="android.intent.action.SEND" />
<data android:mimeType="*/*" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
但出现了两个问题:
任何帮助都将不胜感激 好吧,我已经解决了第一个问题,老实说,这是一个相当愚蠢的错误。我已经将带有getIntent的代码片段放在onCreate中,应该放在onResume中。无论如何,当我手动启动第一个应用程序时,仍然会创建新的应用程序实例:( 编辑:推杆
android:launchMode="singleTask">
在清单中,将代码从onResume移动到
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
catchIntent(intent);
}
已解决问题。您必须记住在onCreate中也进行另一次调用,以便可以触发第一次捕获。添加该选项很好
intent.setFlags(intent.FLAG_ACTIVITY_SINGLE_TOP);
还有。好的,我已经解决了第一个问题,老实说,这是一个相当愚蠢的错误。我已经将带有getIntent的代码片段放在onCreate中,应该放在onResume中。无论如何,当我手动启动第一个应用程序时,仍然会创建新的应用程序实例:( 编辑:推杆
android:launchMode="singleTask">
在清单中,将代码从onResume移动到
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
catchIntent(intent);
}
已解决问题。您必须记住在onCreate中也进行另一次调用,以便可以触发第一次捕获。添加该选项很好
intent.setFlags(intent.FLAG_ACTIVITY_SINGLE_TOP);
还有