2010-08-18 14 views
13

OK Wie das abzufangen, so nicht ganz sicher, ob dies möglich ist ...Android - ‚Anwendung installieren‘ Absicht

Doch der Versuch, eine Anwendung zu schreiben, so dass ich einige Code ausführen kann, bevor eine der folgenden Tätigkeiten sind durchgeführt.

1) APK von Web heruntergeladen und Markteinführungen Installateur

2) Schaltfläche Installieren auf Android Markt gedrückt wird

Ist es möglich, auf diese Ereignisse abzufangen und zu veranlassen, oder hat Google nach unten das Zeug gesperrt ziemlich eng?

Antwort

10

Dies ist keine Antwort per se, aber ich kann hier kein Kommentar-Tool finden. Es tut uns leid. Ich habe dieses Problem auch. Ich möchte in der Lage sein, neue Anwendungsinstallationen zu erkennen. Ich weiß, dass es möglich ist - zum Beispiel sendet die App Apps to SD eine Benachrichtigung, wenn Sie eine neue App installieren, die nach dem Klicken auf ein Dialogfeld öffnet, um diese neue App auf die SD-Karte zu verschieben. Bisher alles, was ich habe in der Lage gewesen, auf zu Figur ist wie folgt: manifest.xml:

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

IntentReciever.java:

public class IntentReceiver extends BroadcastReceiver { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
    context.startService(new Intent(context, YourService.class)); 
    } 
} 

Your wird dann erstellt und ruft onCreate() dann onStartCommand(). Ich war jedoch nicht in der Lage, dies zu debuggen oder Benachrichtigungen von der Serviceklasse erfolgreich anzuzeigen, also bin ich mir nicht ganz sicher, ob das funktioniert. Ich habe das für andere Empfänger wie android.intent.action.BOOT_COMPLETED arbeiten lassen.

+5

Ich habe PACKAGE_REMOVED und das Tag hinzugefügt. Sobald diese in meinem Manifest waren, wurde meine Anwendung korrekt gemeldet, wenn eine App installiert oder entfernt wurde. Weitere Informationen finden Sie unter http://groups.google.com/group/android-developers/browse_thread/thread/14589d5e0761c056 und http://developer.android.com/guide/appendix/faq/framework.html#7 – prodaea

5

Mit einem BroadcastReceiver können Sie die android.intent.action.PACKAGE_ADDED Absicht filtern. Dies wird jedoch erst nach den beiden beschriebenen Aktionen geschehen, nicht vorher. Und es wird nicht aufhören oder die Installation unterbrechen.

AFAIK gibt es keine Möglichkeit, etwas vor oder um den Markt zu unterbrechen. Und dann reden wir sogar über eine andere App als die, die natürlich installiert wird.

Verwandte Themen