これはおそらくロングショットだと思いますが、アプリがAmazonアプリストアでホストされているのか、Google Playでホストされているのかをプログラムで検出する方法はありますか?アプリをダウンロードしたアプリストアにリンクしたいのですが、回避できるのであれば、この違いだけで2つの異なるAPKを使用したくありません。
質問する
4380 次
2 に答える
26
つい最近の時点で、Amazon アプリストアは正常な値を返しますPackageManager.getInstallerPackageName()
PackageManager pm = context.getPackageManager();
String installerPackageName = pm.getInstallerPackageName(context.getPackageName());
if ("com.android.vending".equals(installerPackageName)) {
//do google things
} else if ("com.amazon.venezia".equals(installerPackageName)) {
//do amazon things
}
ここを参照してください: https://forums.developer.amazon.com/forums/thread.jspa?threadID=680
このアプリのリンクを評価する例:
グーグルプレイ-
market://details?id=パッケージ名
アマゾンストア
また
amzn://apps/android?p=com.amazon.mp3
于 2013-06-09T09:52:33.950 に答える
1
最も簡単な方法は、Amazon と Google Play の間で異なるバージョン コードまたは名前を使用することです。次に、PackageManager.getPackageInfoを使用してこれらの値を取得し、そこから適切なアプリ ストア リンクを選択できます。
例: Amazon のすべてのバージョン名の末尾に「.65」、つまり 1.0.65 を付けます。次に使用します
public boolean isAmazon(Context context) {
String versionName = "";
try {
versionName = context.getPackageManager().getPackageInfo(
getPackageName(), 0).versionName;
} catch (NameNotFoundException e) {
// Can't find itself...
}
return versionName.endsWith(".65");
}
于 2013-03-11T21:22:10.423 に答える