Винаги искам да стартирам приложението си с висок приоритет и да не показвам инструмента за избор на действие. Някаква идея как да направя това?
Потребителят може да избере да направи това, като постави отметка в квадратчето „направи това по подразбиране“ в долната част на диалоговия прозорец за избор.
Вие, като разработчик, не можете едностранно да направите себе си по подразбиране.
Моята дейност чете маркери 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
‹activity 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