ПАКЕТ_УДАЛЕН & то PACKAGE_ADDED запускаются вместе с PACKAGE_REPLACED Intent Action

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

Итак Для этого я реализовал BroadcastReciever, как показано ниже

<receiver android:name =".IntentReceiverTest.AppReciever">
  <intent-filter>
         <action android:name="android.intent.action.PACKAGE_REMOVED"/>
         <action android:name="android.intent.action.PACKAGE_REPLACED"/>
         <action android:name="android.intent.action.PACKAGE_ADDED"/>
         <data android:scheme="package"/> 
  </intent-filter>
</receiver> 

На каждой замене я получаю 3 трансляции с действиями

  • Сначала с PACKAGE_REMOVED , который запускает AppReciever
  • , затем после PACKAGE_ADDED , который снова запускает AppReciever
  • , а затем через несколько секунд PACKAGE_REPLACED , который снова запускает AppReciever

, поэтому, пожалуйста, предложите лучший способ поймать только Replace Action

или

способ остановить ранее запущены службы из-за действия PACKAGE_REMOVED и PACKAGE_ADDED .

21
задан Flow 9 June 2013 в 11:16
поделиться