Frage

Ich versuche, eine App zu machen, den Android Market Seite des ausgewählten App öffnet und läßt Download Benutzer it.I unten Absicht offenen Markt verwendet hat.

  Intent intent = new Intent (Intent.ACTION_VIEW);
    intent.setData (Uri.parse ("market://details?id=" + PackageName ));
    intent.setFlags (Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivityForResult (intent, 13);

, aber ich bekomme immer Result 0 in onActivityResult.StackTrace sagt:

I/ActivityManager(   79): Starting activity: Intent { act=android.intent.action.VIEW dat=market://details?id=com.google.android.apps.unveil flg=0x10000000 cmp=com.an
droid.vending/.AssetInfoActivity }
W/ActivityManager(   79): Activity is launching as a new task, so cancelling activity result.

Was ich will, ist, dass Marktrenditen mir etwas Antwort, dass Benutzer die App oder einfach abgebrochen heruntergeladen.

EDIT: @CommonsWare Ich versuche hier, um Zugang hinzugefügt Paket aber kippt Figur, was Schlüssel sein soll Paket von Extras von ACTION_PACKAGE_ADDED

bekommen
public class ServiceReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
    //Do this when the system sends the intent
    Bundle b = intent.getExtras();
    String packagename = b.get(?);   //cant figure what should be key to get packagename //from extras
    }

}
War es hilfreich?

Lösung

Der Android Market ist nicht eingerichtet startActivityForResult() zu unterstützen. Auch bedenken, dass der Download und die Installation geschehen asynchron (das heißt, Benutzer klickt auf Installieren, und der Download erfolgt im Hintergrund, und sie beenden die Installation über die Notification).

Andere Tipps

@CommonsWare Superb!

Ihre Lösung erwies sich als hilfreich und es landete mich auch auf eine andere sehr nützliche Seite http://devdaily.com/java/jwarehouse/android/core/java/com/android/internal/content/PackageMonitor.java.shtml

Hier ist ein Code-Schnipsel von oben Link Quelle Paketnamen des derzeit installierte App von Broadcast Absicht zu erhalten:

 String getPackageName(Intent intent) {
        Uri uri = intent.getData();
        String pkg = uri != null ? uri.getSchemeSpecificPart() : null;
        return pkg;
    }

Danke Commonsware.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top