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

имам една дейност със същите филтри за намерения като друго приложение. И така, когато стартирам приложението си, трябва да избера кое действие искам да бъде извършено, но не искам да избера това.

Винаги искам да стартирам приложението си с висок приоритет и да не показвам инструмента за избор на действие. Някаква идея как да направя това? Благодаря


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 ‹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


Отговори (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