1. 程式人生 > >Android 進入應用市場評價應用

Android 進入應用市場評價應用

在Android的App中經常會見到從當前app跳轉到一個應用商店且顯示本軟體詳情的頁面,讓使用者給自己的App進行評分的功能。下面簡單介紹該功能的實現。

  1. 要開啟應用市場首先做的就是判斷此手機是否安裝了該應用市場
    /**
     * 判斷市場是否存在的方法
     * @param context
     * @param packageName 應用市場包名
     * @return true or false
     */
    public static boolean isAvilible(Context context, String packageName){
        final
PackageManager packageManager = context.getPackageManager();//獲取packagemanager List< PackageInfo> packageInfo = packageManager.getInstalledPackages(0);//獲取所有已安裝程式的包資訊 List<String> NameList = new ArrayList<String>();//用於儲存所有已安裝程式的包名 //從packageInfo中取出包名,放入NameList中 if
(packageInfo != null){ for(int i = 0; i < packageInfo.size(); i++){ String pn = packageInfo.get(i).packageName; NameList.add(pn); } } return NameList.contains(packageName);//判斷pName中是否有目標程式的包名,有TRUE,沒有FALSE }
  1. 跳轉進入當前App在應用市場的詳細頁面
   /**
     * 跳轉到app詳情介面
     * @param appPkg App的包名
     * @param marketPkg
     *  應用商店包名 ,如果為""則由系統彈出應用商店列表供使用者選擇,否則調轉到目標市場的應用詳情介面,某些應用商店可能會失敗
     */
    public static void launchAppDetail(String appPkg, String marketPkg) {
        try {
            if (TextUtils.isEmpty(appPkg))
                return;
            Uri uri = Uri.parse("market://details?id=" + appPkg);
            Intent intent = new Intent(Intent.ACTION_VIEW, uri);
            if (!TextUtils.isEmpty(marketPkg))
                intent.setPackage(marketPkg);
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            MyApplication.context.startActivity(intent);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
  1. 呼叫實現功能
private static String DOWNLOAD_URL = "http://migmkt.qq.com/g/myapp/yyb-common.html?ADTAG=buy.bd.yyb01";//應用寶下載地址

if(isAvilible(this,"此處為應用市場包名"))//判斷應用市場是否存在
{
  //存在  進入應用市場
  launchAppDetail("App包名", "此處為應用市場包名");
}else{
//不存在  提示使用者安裝應用市場
AlertDialog.Builder builder = new   AlertDialog.Builder(SettingActivity.this);
  builder.setTitle("提示").setMessage("您沒有安裝應用寶,是否安裝應用寶?");
  builder.setPositiveButton("是", new DialogInterface.OnClickListener() {
  @Override
  public void onClick(DialogInterface dialog, int which) {
        Uri uri = Uri.parse(DOWNLOAD_URL);
        Intent intent = new Intent(Intent.ACTION_VIEW, uri);
        startActivity(intent);
        dialog.dismiss();
      }
   }).setNegativeButton("否", new DialogInterface.OnClickListener() {
   @Override
   public void onClick(DialogInterface dialog, int which) {
         dialog.dismiss();
       }
    }).create().show();

 }
  1. 主流應用商店對應的包名如下:

    com.qihoo.appstore 360手機助手
    com.taobao.appcenter 淘寶手機助手
    com.tencent.android.qqdownloader 應用寶
    com.hiapk.marketpho 安卓市場
    cn.goapk.market 安智市場

以上屬於個人平時工作和學習的一些總結分享,要是喜歡就點個讚唄,O(∩_∩)O謝謝。