适用于多屏幕的Android意向过滤器
我想从Android的web浏览器启动我的应用程序,使用基于scheme的Intent Filter,将主机放在数据标记中,如下所示适用于多屏幕的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
<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
,或处理所有配置更改