App内ジャンプアプリケーション市場の詳細
2827 ワード
App内でバージョンを表示するときに、本体にインストールされているアプリケーションストアをフィルタして表示し、クリックするとAppのこのアプリケーション市場の詳細ページにジャンプできます.市場更新に依存するAppで、指定されたいくつかのアプリケーション市場を検出し、新しいバージョンをダウンロードするためにジャンプすることもできます.
1.コア
SDK自体提供market://details?id=パッケージ名というUriは、アプリケーション市場にジャンプするために使用されます.
通常の使用では、インストールされているアプリケーションストアのリストがデフォルトで開きます.1つだけの場合、アプリケーションストアのみが開きます.海外のGoogleサービスの下でのアプリについては、あまり考慮する必要はありませんが、国内では他の店を考慮する必要があります.
2.国内応用市場のサポート
国内のアプリケーション市場を跳躍するには、まず、ある店が設置されているかどうかを判断する必要があります.ここでは、いくつかの一般的なアプリケーション市場パッケージ名を簡単にリストします.
インストールされたアプリケーションのリストを取得し、パッケージ名が存在するかどうかを判断します.
3.ジャンプ詳細
あるAppアプリケーション市場がすでに存在することが知られている場合、その詳細ページ(特定のActivity)にジャンプする必要があります.この場合、2つの既知のパラメータが必要です.1つはアプリケーション市場パッケージ名、2つは詳細ページの完全な名前です.2番目のパラメータの取得方法については、アプリケーション市場apkのAndroid Manifest.xmlを参照すると、アプリケーションストアuriを開くページを受信するページが登録されていることがわかります.逆コンパイルが必要になる可能性があります.パッケージ名を示す上記の店の詳細ページをリストします.
1.コア
SDK自体提供market://details?id=パッケージ名というUriは、アプリケーション市場にジャンプするために使用されます.
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("market://details?id=" + getActivity().getPackageName()));
startActivity(intent);
通常の使用では、インストールされているアプリケーションストアのリストがデフォルトで開きます.1つだけの場合、アプリケーションストアのみが開きます.海外のGoogleサービスの下でのアプリについては、あまり考慮する必要はありませんが、国内では他の店を考慮する必要があります.
2.国内応用市場のサポート
国内のアプリケーション市場を跳躍するには、まず、ある店が設置されているかどうかを判断する必要があります.ここでは、いくつかの一般的なアプリケーション市場パッケージ名を簡単にリストします.
// --
public static final String PACKAGE_COOL_MARKET = "com.coolapk.market";
//
public static final String PACKAGE_MI_MARKET = "com.xiaomi.market";
//
public static final String PACKAGE_TENCENT_MARKET = "com.tencent.android.qqdownloader";
//360
public static final String PACKAGE_360_MARKET = "com.qihoo.appstore";
//
public static final String PACKAGE_WANDOUJIA_MARKET = "com.wandoujia.phoenix2";
//
public static final String PACKAGE_MEIZU_MARKET = "com.meizu.mstore";
インストールされたアプリケーションのリストを取得し、パッケージ名が存在するかどうかを判断します.
private void initAppList() {
appList.clear();
PackageManager packageManager = getActivity().getPackageManager();
List packageInfoList = packageManager.getInstalledPackages(0);
for (PackageInfo packageInfo : packageInfoList) {
appList.add(packageInfo.packageName);
}
}
3.ジャンプ詳細
あるAppアプリケーション市場がすでに存在することが知られている場合、その詳細ページ(特定のActivity)にジャンプする必要があります.この場合、2つの既知のパラメータが必要です.1つはアプリケーション市場パッケージ名、2つは詳細ページの完全な名前です.2番目のパラメータの取得方法については、アプリケーション市場apkのAndroid Manifest.xmlを参照すると、アプリケーションストアuriを開くページを受信するページが登録されていることがわかります.逆コンパイルが必要になる可能性があります.パッケージ名を示す上記の店の詳細ページをリストします.
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("market://details?id=" + getActivity().getPackageName()));
//
intent.setClassName(PACKAGE_COOL_MARKET, "com.coolapk.market.activity.AppViewActivity");
//
intent.setClassName(PACKAGE_MI_MARKET, "com.xiaomi.market.ui.AppDetailActivity");
//
intent.setClassName(PACKAGE_TENCENT_MARKET, "com.tencent.pangu.link.LinkProxyActivity");
// 360
intent.setClassName(PACKAGE_360_MARKET, "com.qihoo.appstore.distribute.SearchDistributionActivity");
//
intent.setClassName(PACKAGE_WANDOUJIA_MARKET, "com.wandoujia.jupiter.activity.DetailActivity");
//
intent.setClassName(PACKAGE_MEIZU_MARKET, "com.meizu.flyme.appcenter.activitys.AppMainActivity");
startActivity(intent);