Prüfen ob Anwendung deinstalliert wurde

  • Antworten:4
Alexander R.
  • Forum-Beiträge: 1.148

29.07.2011, 21:21:48 via Website

Hallo,
ich möchte in meiner App prüfen, ob eine bestimmte App deinstalliert wurde.
Wenn die Antwort positiv ist soll sie aus meiner ListView verschwinden.
Wie kann ich das am besten überprüfen?

Habe bisher folgendes versucht:
1if (Intent.ACTION_PACKAGE_REMOVED.equals(1)) {
2 mApps.remove(appPosition);
3 mAdapter.notifyDataSetChanged();
4 }

Gruß Alexander

Antworten
Ansgar M
  • Forum-Beiträge: 1.544

29.07.2011, 23:10:21 via App

Hey,
also dein Versuch prüft eine Konstante (Großbuchstaben) auf ihren Wert. Das ist in etwa so, als ob du jedesmal prüfst, ob Pi irgendeinen Wert hat (natürlich hat die Konstante immer den selben Wert). Somit kann das so leider nicht funktionieren.
Was du machen könntest, wäre über den PaketManager, oder wie auch immer der heißt (kenn die API nicht) herausfinden, ob es die App noch gibt. Alternativ könntest du einen BroadcastReceiver schreiben, der auf den Intent des Paketentfernens lauscht (dafür ist diese Konstante). Wenn du dann jedesmal die App, die entfernt wurde aus deiner internen Liste(?) löschst, brauchst du beim Start deiner App eigentlich nicht mehr alle Apps zu prüfen.
Ich hoffe, ich hab dein Problem richtig verstanden.
Lg Ansgar

Antworten
Alexander R.
  • Forum-Beiträge: 1.148

01.08.2011, 14:26:37 via Website

wie müsste ich es prüfen?
Jemand einen link dazu evtl?

Gruß Alexander

Antworten
Ansgar M
  • Forum-Beiträge: 1.544

09.08.2011, 21:43:13 via Website

Alexander R.
wie müsste ich es prüfen?
Jemand einen link dazu evtl?
Per Broadcast Receiver. Code kopieren, kann man hier :P:grin:
Lg Ansgar

Antworten
Alexander R.
  • Forum-Beiträge: 1.148

09.08.2011, 21:48:13 via Website

Habs schon:grin: und Wieso kopieren?
Ich versuche ja eure schnipsel zu verstehen und auch manches selber zu lösen:

1if (intent.getAction().equalsIgnoreCase(Intent.ACTION_PACKAGE_REMOVED)) {
2 mApps.remove(appPosition);
3 mAdapter.notifyDataSetChanged();
4 String number = new Integer((mApps
5 .size())).toString();
6 app_count.setText(number);
7 }
(Markus hatte schon woanders eine Antwort)

— geändert am 09.08.2011, 21:48:33

Gruß Alexander

Antworten