アプリケーションが Google Play または他の市場からインストールされていることを検出する必要があります。この情報を取得するにはどうすればよいですか?
34235 次
4 に答える
59
このPackageManager
クラスは、指定したパッケージがインストールされているもののパッケージ名を通知するgetInstallerPackageNameメソッドを提供します。サイドローディング アプリには値が含まれません。
編集: Amazonアプリストアに関する以下の@mttmllnsの回答に注意してください。
于 2012-05-30T03:03:27.260 に答える
27
参考までに、Amazonストアの最新バージョンは、PackageManager.getInstallerPackageName()
Google "com.amazon.venezia"
Playの"com.android.vending"
.
于 2013-05-31T17:43:18.417 に答える
19
このコードを使用して、ビルドがストアからダウンロードされたか、サイドロードされたかを確認します。
public static boolean isStoreVersion(Context context) {
boolean result = false;
try {
String installer = context.getPackageManager()
.getInstallerPackageName(context.getPackageName());
result = !TextUtils.isEmpty(installer);
} catch (Throwable e) {
}
return result;
}
コトリン:
fun isStoreVersion(context: Context) =
try {
context.packageManager
.getInstallerPackageName(context.packageName)
.isNotEmpty()
} catch (e: Throwable) {
false
}
于 2014-07-23T09:15:31.770 に答える