Всегда запускать мое приложение, а не видеть окно выбора действий?

у меня есть одно действие с теми же фильтрами намерений, что и другое приложение. Итак, когда я запускаю свое приложение, мне нужно выбрать, какое действие я хочу выполнить, но я не хочу выбирать это.

Я всегда хочу запускать свое приложение с высоким приоритетом и не показывать средство выбора действий. Любая идея сделать это? Спасибо


person Vítor Nóbrega    schedule 01.07.2011    source источник
comment
Примите ответы для людей, чтобы помочь.   -  person Kal    schedule 01.07.2011
comment
@Vitor: Что делает ваша активность? Что такое фильтры намерений?   -  person Squonk    schedule 01.07.2011
comment
Моя активность читает теги NFC, но как Android уже установил другое приложение NFC с тем же фильтром намерений, я не знаю никакого решения.   -  person Vítor Nóbrega    schedule 01.07.2011
comment
code ‹action android:name=.Test › ‹intent-filter› ‹action android:name=android.nfc.action.TAG_DISCOVERED/› ‹category android:name=android.intent.category.DEFAULT /› ‹/intent-filter › code   -  person Vítor Nóbrega    schedule 01.07.2011


Ответы (1)


Я всегда хочу запускать свое приложение с высоким приоритетом и не показывать средство выбора действий. Любая идея сделать это?

Пользователь может сделать это, установив флажок «Сделать это значением по умолчанию» в нижней части диалогового окна выбора.

Вы, как разработчик, не можете в одностороннем порядке сделать себя дефолтным.

Моя активность считывает теги 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>

Здесь моя активность получит контроль, если (и только если) тег имеет запись NDEF, которая приводит к URL-адресу http://commonsware.com/nfctest. Так как мой фильтр имеет более узкую область применения, чем другие конкурирующие приложения, мое управление будет осуществляться без выбора.

person CommonsWare    schedule 01.07.2011