Dodaj Receiver do projektu, a dostaniesz to wydarzenie, nawet nie wychodząc aplikacji.
public class TestReciver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.d("TestReciver",intent.getAction()+"\n"
+intent.getDataString()+"\n"
+"UID: "+intent.getIntExtra(Intent.EXTRA_UID,0)+"\n"
+"DATA_REMOVED: "+intent.getBooleanExtra(Intent.EXTRA_DATA_REMOVED, false)+"\n"
+"REPLACING: "+intent.getBooleanExtra(Intent.EXTRA_REPLACING, false)
);
}
}
iw swoim manifeście dodać go tak (Wewnątrz aplikacji < > tag):
<receiver android:name="TestReciver" >
<intent-filter >
<action android:name="android.intent.action.PACKAGE_REMOVED" />
<data android:scheme="package" />
</intent-filter>
</receiver>
Podczas korzystania z odbiornika tak nie nazywamy dowolny zarejestrowania lub wyrejestrowania tak będzie zawsze bądź gotowy, aby uzyskać dane.
Pamiętaj, że to nie zadziała, jeśli pozwolisz użytkownikom przenieść aplikację na kartę SD. Jeśli zdarzenie zostanie wysłane, gdy karta SD zostanie odłączona, odbiornik nie będzie dostępny, a Ty przegapisz wydarzenie.
Czy zarejestrowany odbiorca, jeśli jest zarejestrowany w manifeście znajdującym się wewnątrz działania, które jest aktualnie wstrzymane, może uzyskać dostęp do prywatnych zmiennych związanych z jego aktywnością? – Peterdk
Nieważne, teraz widzę, że klasa Odbiornika nie jest interfejsem, ale klasą, z której należy dziedziczyć. – Peterdk
@chris, nie widzę tego udokumentowane w Android docs. –