天天看點

android 找開軟體所在市場頁面

Intent browserIntent =newIntent(Intent.ACTION_VIEW,Uri.parse("https://play.google.com/store/apps/details?id=com.imangi.templerun"));

        browserIntent.setClassName("com.android.vending","com.android.vending.AssetBrowserActivity");

        browserIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

        startActivity(browserIntent);

https://play.google.com/store/apps/details?id=com.imangi.templerun

webView.setWebViewClient(new WebViewClient(){

                @Override

                    public boolean shouldOverrideUrlLoading(WebView view, String url) {

                        PackageManager pm = HtmlIntro.this.getPackageManager();

                    ArrayList<PackageInfo> list = (ArrayList<PackageInfo>) pm.getInstalledPackages(PackageManager.GET_ACTIVITIES);

                    for(int i = 0;i<list.size();i++)

                    {

                     //會列印出手機裡安裝的所有的程式的包名

                            if (list.get(i).packageName.equals("com.android.vending")) {

                                    url = url.substring(url.lastIndexOf("id=")+3);

                                Uri uri = Uri.parse("market://search?q="+ url); 

                        Intent it   = new Intent(Intent.ACTION_VIEW,uri); 

                        startActivity(it);

                        return true;

                                        }

                    }

                    Intent viewIntent = new Intent(Intent.ACTION_VIEW , Uri.parse(url));

                    startActivity(viewIntent);

                            return true;//super.shouldOverrideUrlLoading(view, url)

                    }

        });

在實際需求,有可能會有給應用評價這樣的功能,通常這樣的功能都會跳轉到Android Market來讓使用者評論。 (自己伺服器上的資料,總是不那麼可信嘛,對吧)

那麼如何進入自己應用的評價頁面呢?

1. 網頁版

通過網頁進入自己應用。比如,你的應用名叫: 蘇州實時交通  包名為: com.yfz.bus 那隻要通過下面的URL即可進入: "https://market.android.com/details?id" + <package>; 搜尋某個應用時可以用下面這個: "https://market.android.com/search?q" + <package>; 或者"https://market.android.com/search?q" + <應用名>; 比如: https://market.android.com/details?id=蘇州實時交通
代碼: <span style="font-family:'Microsoft YaHei';">               Uri uri = Uri.parse("https://market.android.com/details?id=com.yfz.bus");                    Intent intent=new Intent(Intent.ACTION_VIEW, uri);                   startActivity(intent);</span>  

2. Market手機應用版

同樣是通過URL,隻是格式有點差別, 如下: 搜尋: " market://search?q=pname: " + <package>; 詳細:  "market://details?id= " + <package>;  代碼一樣,就不羅嗦了。

* market://search?q=pname:<package> 

 */  

private void startSearchPNAMEIntent(){  

    String pkgname;  

    if(mEditText != null){  

        pkgname = mEditText.getText().toString();  

    }else{  

        return;  

    }  

    Uri uri = Uri.parse("market://search?q=pname:"+pkgname);           

    Intent it = new Intent(Intent.ACTION_VIEW, uri);           

    startActivity(it);   

}  

/** 

 * market://search?q=pnames:<package> 

private void startSearchPNAMESIntent(){  

       String pkgnames;  

        pkgnames = mEditText.getText().toString();  

    Uri uri = Uri.parse("market://search?q=pnames:"+pkgnames);           

 * market://search?q=pub:Your Publisher Name 

private void startSearchPUBIntent(){  

       String pub;  

        pub = mEditText.getText().toString();  

    Uri uri = Uri.parse("market://search?q=pub:"+pub);           

 * market://details?id=<package_name> 

private void startSearchIDIntent(){  

       String id;  

        id = mEditText.getText().toString();  

    Uri uri = Uri.parse("market://search?id="+id);           

繼續閱讀