适用于多屏幕的Android意向过滤器

适用于多屏幕的Android意向过滤器,android,intentfilter,multiscreen,Android,Intentfilter,Multiscreen,我想从Android的web浏览器启动我的应用程序,使用基于scheme的Intent Filter,将主机放在数据标记中,如下所示 <activity android:name=".activity.LogoActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <categor

我想从Android的web浏览器启动我的应用程序,使用基于scheme的Intent Filter,将主机放在数据标记中,如下所示

    <activity android:name=".activity.LogoActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <activity android:name=".activity.phone.MainActivityPhone" android:configChanges="orientation|keyboard"
         android:launchMode="singleTask">
        <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:scheme="my" android:host="mystore" />
        </intent-filter>
    </activity>

    <activity android:name=".activity.tablet.MainActivityTablet"  android:configChanges="orientation|keyboard"
         android:launchMode="singleTask">
        <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:scheme="my" android:host="mystore" />     
        </intent-filter>
    </activity>

如您所见,手机和平板电脑有两个主要活动,在LogoActivity中,将根据屏幕大小确定打开哪个主要活动。但问题是,当用户在web浏览器中单击my://mystore链接时,有两种选择可以启动MainActivityPhone和MainActivityTablet

我想要的是,uri my://mystore只有一个合适的意图过滤器。
有什么帮助吗?谢谢。

在应用程序第一次运行时,请使用
PackageManager
禁用您不想使用的活动

请不要发明定制方案。请改用HTTP URL:

<data android:scheme="http" android:host="yourdomain.com" android:path="/something/or/another" />

这样,您就可以在
http://yourdomain.com/something/or/another
,因此,如果有人获得了您的链接,但没有安装您的应用程序,他们将看到您的网页,而不会收到错误


另外,请删除android:configChanges,或处理所有配置更改。

在应用程序第一次运行时,使用
PackageManager
禁用您不想使用的活动

请不要发明定制方案。请改用HTTP URL:

<data android:scheme="http" android:host="yourdomain.com" android:path="/something/or/another" />

这样,您就可以在
http://yourdomain.com/something/or/another
,因此,如果有人获得了您的链接,但没有安装您的应用程序,他们将看到您的网页,而不会收到错误

另外,请删除
android:configChanges
,或处理所有配置更改