Android не может отлаживать после добавления определенных разрешений

#android #xml #debugging #android-manifest #nfc

#Android #xml #отладка #android-манифест #nfc

Вопрос:

Я добавил некоторые разрешения NFC в свое приложение, и теперь оно больше не переходит в режим отладки. В нем просто написано «установлено на устройстве… готово! «

  [2011-10-08 20:58:37 - myApp] Automatic Target Mode: using device '3433254FAA1500EC'
 [2011-10-08 20:58:37 - myApp] Uploading myApp.apk onto device '3433254FAA1500EC'
 [2011-10-08 20:58:37 - myApp] Installing myApp.apk...
 [2011-10-08 20:58:39 - myApp] Success!
 [2011-10-08 20:58:39 - myApp] /myApp/bin/myApp.apk installed on device
 [2011-10-08 20:58:39 - myApp] Done!
  

это происходит всякий раз, когда я добавляю это в манифест:

<action android:name="android.nfc.action.TECH_DISCOVERED" />

это xml вокруг него

   <activity android:name="Home"
              android:screenOrientation="portrait"
              android:label="@string/app_name"
              android:configChanges="orientation|keyboardHidden">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <action android:name="android.nfc.action.TECH_DISCOVERED" />
            <category android:name="android.intent.category.LAUNCHER" />


        </intent-filter>

            <meta-data android:name="android.nfc.action.TECH_DISCOVERED"
                android:resource="@xml/filter_nfc"
            />

    </activity>
  

Я хочу иметь возможность отлаживать с помощью своих точек останова, почему это предотвращается?

Комментарии:

1. если вы удалите это разрешение, устройство вернется в режим отладки?

2. да, тогда я смогу его отладить. Для записи УСТРОЙСТВО всегда находится в режиме отладки, программа просто не запускает свое намерение, она только устанавливается, я должен поднять устройство и щелкнуть приложение вручную, но, конечно, когда я это делаю, приложение не находится в режиме отладки, оно просто запущено. Если я отключу это одно разрешение и нажму кнопку debug, приложение откроется в режиме отладки.

Ответ №1:

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

 <intent-filter>

<action android:name="android.nfc.action.TECH_DISCOVERED" />

<intent-filter>'
  

Я сделал это таким образом и могу отлаживать свое приложение NFC.

Комментарии:

1. Вам понадобится <category android:name="android.intent.category.DEFAULT" /> TECH_DISCOVERED. В противном случае фильтр намерений не будет соответствовать.