Android 進入應用市場評價應用
阿新 • • 發佈:2019-01-09
在Android的App中經常會見到從當前app跳轉到一個應用商店且顯示本軟體詳情的頁面,讓使用者給自己的App進行評分的功能。下面簡單介紹該功能的實現。
- 要開啟應用市場首先做的就是判斷此手機是否安裝了該應用市場
/**
* 判斷市場是否存在的方法
* @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
}
- 跳轉進入當前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();
}
}
- 呼叫實現功能
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();
}
主流應用商店對應的包名如下:
com.qihoo.appstore 360手機助手
com.taobao.appcenter 淘寶手機助手
com.tencent.android.qqdownloader 應用寶
com.hiapk.marketpho 安卓市場
cn.goapk.market 安智市場
以上屬於個人平時工作和學習的一些總結分享,要是喜歡就點個讚唄,O(∩_∩)O謝謝。