Я всегда хочу запускать свое приложение с высоким приоритетом и не показывать средство выбора действий. Любая идея сделать это?
Пользователь может сделать это, установив флажок «Сделать это значением по умолчанию» в нижней части диалогового окна выбора.
Вы, как разработчик, не можете в одностороннем порядке сделать себя дефолтным.
Моя активность считывает теги 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
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