Android 應用商店評分+APP分享
注:ionic-native還有這樣的一個外掛:Market 描述:Opens an app's page in the market place (Google Play, App Store) (我沒去試過,估計也差不多的功能呱)
開發中,有時需要在應用中新增這樣的功能:指引使用者跳轉到應用市場去評價應用,或者更新版本,或者下載作者開發或推薦的其他應用等Market連結功能。程式碼如下:
- Uri uri = Uri.parse("market://details?id=" + getPackageName());
- Intent intent = new Intent(Intent.ACTION_VIEW,uri);
- startActivity(intent);
從中可以看到,利用Uri物件和Intent實現即可!使用示例:
《一》通過packageName定位至Market對應App詳情介紹頁:
http://market.Android.com/details?id= your packageName
或者
market://details?id= your packageName
《二》通過packageName搜尋App,獲取得到的App列表:
http://market.android.com/search?q=pname:<Java包名>
或者
market://search?q=pname:<java包名>
《三》通過developer名稱搜尋App,獲取得到的App列表:
http://market.android.com/search?q=pub:<開發者名稱>
或者
market://search?q=pub:<開發者名稱>
《四》通過關鍵詞搜尋App,獲取得到的App列表:
http://market.android.com/search?q=<關鍵詞>
或者
market://search?q=<關鍵詞>
不過,這種方法將顯示搜尋到的標題(及內容?)中包含此關鍵詞的所有App列表,需注意的是:這個是語言相關的,如果App中有對應於你機器的語言,那麼你就要以這個語言搜才容易找到,搜尋其他語言版本的名稱應該是找不到該軟體的,所以這種方法不推薦使用。
《五》綜合搜尋:
上述搜尋相關的內容可以簡單組合起來做更精確的篩選,不過通常情況下很少會用到。
例如:market://search?q=lucky wheel pub:xianfeng
[java] view plain copy print?
- /**
- * market://search?q=pname:<package>
- */
- privatevoid 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>
- */
- privatevoid startSearchPNAMESIntent(){
- String pkgnames;
- if(mEditText != null){
- pkgnames = mEditText.getText().toString();
- }else{
- return;
- }
- Uri uri = Uri.parse("market://search?q=pnames:"+pkgnames);
- Intent it = new Intent(Intent.ACTION_VIEW, uri);
- startActivity(it);
- }
- /**
- * market://search?q=pub:Your Publisher Name
- */
- privatevoid startSearchPUBIntent(){
- String pub;
- if(mEditText != null){
- pub = mEditText.getText().toString();
- }else{
- return;
- }
- Uri uri = Uri.parse("market://search?q=pub:"+pub);
- Intent it = new Intent(Intent.ACTION_VIEW, uri);
- startActivity(it);
- }
- /**
- * market://details?id=<package_name>
- */
- privatevoid startSearchIDIntent(){
- String id;
- if(mEditText != null){
- id = mEditText.getText().toString();
- }else{
- return;
- }
- Uri uri = Uri.parse("market://search?id="+id);
- Intent it = new Intent(Intent.ACTION_VIEW, uri);
- startActivity(it);
- }
專案中要有一個給軟體評分的功能,一個很常見,很簡單的功能,卻費了我不小功夫。需要實現的效果如下:
本來以為一般的軟體都會有“去評分”、“親,給個好評”這樣的功能,但是在網上搜了搜竟沒有搜到,問了三個群外加5個童鞋,分析log,反編譯看原始碼,終於找到了這個uri,獲取他真不容易啊。
- Uri uri = Uri.parse("market://details?id="+getPackageName());
- Intent intent = new Intent(Intent.ACTION_VIEW,uri);
- intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- startActivity(intent);
通過以上程式碼就能夠列出您手機上所安裝的所有應用市場(如:google player、豌豆莢、360手機助手等),讓您選擇。
加點福利吧,把呼叫分享的程式碼也貼出來,免得以後到處找:
- Intent sendIntent = new Intent();
- sendIntent.setAction(Intent.ACTION_SEND);
- sendIntent.setType("text/*");
- sendIntent.putExtra(Intent.EXTRA_TEXT, contentEditText.getText().toString());
- startActivity(sendIntent);
Intent intent = new Intent(Intent.ACTION_SEND); intent.setType("text/plain"); intent.putExtra(Intent.EXTRA_SUBJECT, "分享"); intent.putExtra(Intent.EXTRA_TEXT, 分享的內容); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); this.startActivity(Intent.createChooser(intent, "分享"));