从浏览器启动应用程序并启动屏幕

时间:2014-01-03 17:07:26

标签: android url browser android-manifest

我正在尝试从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]未找到Launcher活动! [2014-01-03 10:54:09 - myapp]启动只会同步设备上的应用程序包!

有没有办法操纵清单文件,以便能够从开始屏幕和自定义URL启动具有相同活动的应用程序?

由于

1 个答案:

答案 0 :(得分:1)

您似乎正在尝试将所有所需的intent-filters组合到一个intent过滤器中。这不是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>