Все, что я пытаюсь сделать, это обновить свой список при каждой установке и удалении, но не при замене пакета. Таким образом, основная проблема заключается в том, что намерения установки и удаления запускаются при каждом действии замены.
Итак, для этого я реализовал 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.
Поэтому, пожалуйста, предложите лучший способ поймать только действие «Заменить».
Or
способ остановить ранее запущенные Службы из-за действия PACKAGE_REMOVED и PACKAGE_ADDED.
PACKAGE_REMOVED
иPACKAGE_ADDED
только тогда, когда пакеты на самом деле установлены/удалены, но не когда они заменены. Прочитайте 3-ю строку моего вопроса. - person 100rabh   schedule 07.03.2011