我试图能够通过自定义URL链接(如myurlscheme:// myurl / 123)启动我的应用程序。这是清单中的开始活动:
<activity
android:name="mainActivity"
android:label="@string/app_name"
android:exported="true" >
<intent-filter>
<data android:scheme="myurlscheme" />
<action android:name="android.intent.action.MAIN" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
</activity>
问题在于,添加自定义方案后,该应用现在将不再显示在Android启动屏幕上,在加载apk时,会显示一条消息:
[2014-01-03 10:54:09-myapp]找不到启动器活动!
[2014-01-03 10:54:09-myapp]启动将仅同步设备上的应用程序包!
有没有一种方法可以操作清单文件,以便能够从开始屏幕和自定义URL进行具有相同活动的应用程序?
谢谢
最佳答案
看来您正在尝试将所有所需的意图过滤器组合到一个意图过滤器中。这不是Android的工作方式;您必须在其自己的元素中指定每个所需的Intent过滤器。例如:
<activity
android:name="mainActivity"
android:label="@string/app_name"
android:exported="true" >
<intent-filter>
<data android:scheme="myurlscheme" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>