我有一个活动与相同的意图过滤器比其他应用程序。所以,当我运行我的应用程序时,我必须选择我想要执行的操作,但我不想选择它。
我总是希望以高优先级运行我的应用程序而不显示动作选择器。有什么想法吗?感谢
答案 0 :(得分:2)
我总是希望以高优先级运行我的应用程序而不显示动作选择器。有什么想法吗?
用户可以通过选中选择器对话框底部的“将其设为默认值”复选框来选择执行此操作。
作为开发者,您不能单方面将自己定为默认值。
我的活动读取了一个标签NFC但是android如何安装其他具有相同意图过滤器的NFC应用程序我不知道任何解决方案。
您的过滤器表示您要处理所有标记。如果确实如此,则用户必须选择是否将您的应用设为默认值。
但是,您可以制作更严格的过滤器并优先考虑。例如:
<activity android:name="URLHandler" android:label="@string/app_name">
<intent-filter android:label="@string/app_name">
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<data android:scheme="http"
android:host="commonsware.com"
android:path="/nfctest"
/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
在这里,如果(且仅当)标签具有导致URL为http://commonsware.com/nfctest
的NDEF记录,我的活动将获得控制权。由于我的过滤器的范围比其他竞争应用程序更紧,因此我的控制器无需选择器即可获得控制权。