始终启动我的应用程序,而不是看动作选择器?

时间:2011-07-01 16:49:36

标签: java android action intentfilter

我有一个活动与相同的意图过滤器比其他应用程序。所以,当我运行我的应用程序时,我必须选择我想要执行的操作,但我不想选择它。

我总是希望以高优先级运行我的应用程序而不显示动作选择器。有什么想法吗?感谢

1 个答案:

答案 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记录,我的活动将获得控制权。由于我的过滤器的范围比其他竞争应用程序更紧,因此我的控制器无需选择器即可获得控制权。