2009-12-27 89 views
9

我正在開發Android上應用程序的精簡版。如何啓動一個意圖打開Android電子市場,最好顯示我的應用程序的完整版本?這很難在模擬器上測試(這與我的設備最接近),因爲似乎沒有合法的方法來安裝市場。到底從應用程序啓動Android電子市場

回答

23

找到答案:

Intent intent = new Intent(Intent.ACTION_VIEW); 
intent.setData(Uri.parse("market://search?q=pname:MyApp")); 
startActivity(intent); 

模擬器上測試沒辦法,雖然。

+0

是,我可以設置爲任何意向標誌,防止谷歌發揮出我的應用程序打開按鈕。 http://stackoverflow.com/questions/10185326/opening-my-application-from-google-play-app-crashes-on-exit/10185486#10185486 http://stackoverflow.com/questions/10174892/extended-application -class-force-close-on-restart-android#comment13073329_10174892 – 2012-04-20 13:10:37

+0

這個以同一應用程序開啓市場,要真正打開市場,分開看我的答案。 – 2014-07-29 02:59:07

+0

Developer呢?如何打開所有應用程序的開發人員名字? – 2014-09-14 13:09:30

29

上面的查詢工作正常,但是當我嘗試它時,它看起來像是在根據名稱提出搜索結果。

如果你使用類似

intent.setData(Uri.parse("market://details?id=com.wolinlabs.SuperScorepad")); 

相反,它會右轉到Android Market頁面爲您的應用程序。

我認爲這更多你想要的(?)

+0

非常感謝這位朋友..我想知道如果有Url來開發更多的應用程序? Url Url打開應用程序..有一個選項可以看到更多的應用程序..我想要的URL .. :) – 2012-04-01 13:06:15

+0

是的,有,它在發佈指南[鏈接](http://開發人員。 android.com/guide/publishing/publishing.html)。使用這個:** market:// search?q = pub: ** – 2012-05-02 00:44:32

+0

這一款針對同一款應用打開市場,真正打開市場分開看我的答案。 – 2014-07-29 02:58:48

1

您好我嘗試實現相同,但有一個小的差異

我不想打開它嵌入式我的應用程序

public void start(JSONArray args, CallbackContext callback) { 

    Intent launchIntent; 
    String packageName; 
    String activity; 
    String uri; 
    ComponentName comp; 

    try { 
     packageName = args.getString(0); //com.android.vending 
     activity = args.getString(1); //com.google.android.finsky.activities.LaunchUrlHandlerActivity 
     uri   = args.getString(2); //'market://details?id=com.triplingo.enterprise' 

     launchIntent = this.cordova.getActivity().getPackageManager().getLaunchIntentForPackage(packageName); 
     comp = new ComponentName(packageName, activity); 
     launchIntent.setComponent(comp); 
     launchIntent.setData(Uri.parse(uri)); 

     this.cordova.getActivity().startActivity(launchIntent); 
     callback.success(); 
    } catch (Exception e) { 
     callback.error(e.toString()); 
    } 
} 

很大的區別這裏是你開始一個新的應用不只是顯示GOOGLE PLAY IN YOUR APP

此代碼是Cordova插件的一部分,但非常明顯,您需要在本地使用它。

重要的行

launchIntent = this.cordova.getActivity().getPackageManager().getLaunchIntentForPackage(packageName); 
comp = new ComponentName(packageName, activity); 
launchIntent.setComponent(comp); 
launchIntent.setData(Uri.parse(uri)); 

問候

相關問題