BroadcastReceiver ACTION_PACKAGE_FULLY_REMOVED не стреляет - PullRequest
0 голосов
/ 04 октября 2018

Мне нужно, чтобы приложение отреагировало на удаление ЛЮБОГО приложения с устройства.Согласно документации

ACTION_PACKAGE_FULLY_REMOVED Некоторым приложениям может потребоваться обновить свои сохраненные данные при удалении другого пакета;для этих приложений нет хорошей альтернативы регистрации для этой трансляции.

Я делаю то же, что и там, но получатель никогда не вызывается для этого действия.Пожалуйста, смотрите код ниже:

 @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    BroadcastReceiver testeReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            Toast.makeText(context,"App Uninstalled",Toast.LENGTH_LONG).show();
        }
    };


    registerReceiver(testeReceiver,new IntentFilter(Intent.ACTION_PACKAGE_FULLY_REMOVED));
}

Любая идея, почему или лучший подход?

Спасибо, ребята!=)

1 Ответ

0 голосов
/ 04 октября 2018

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

Вы можете зарегистрировать свой получатель в файле манифестаиспользуя элемент:

<receiver
   android:name="YOUR_Receiver_CLASS">
   <intent-filter>
      <action android:name="YOUR_ACTION"
   </intent-filter>
</receiver>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...