3

Androidには3種類のアプリがあります

  1. Android システム アプリ
  2. Android Play ストアからインストールしたアプリ
  3. ローカル apk を介してインストールされたアプリ (通常、開発者またはその他のソースによってインストールされます)

以下のコードを使用して、アプリ パッケージの最初のカテゴリ (つまり、システム アプリ) を取得します。

private boolean isSystemPackage(ResolveInfo ri) {
return (ri.activityInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0;
}

Android デバイスで 2 番目のカテゴリのアプリ (つまり、Android Play ストアからインストールされたアプリ) のパッケージを取得したいのですが、どうすれば取得できますか?

ローカルにインストールされたアプリ (つまり、3 番目のカテゴリ) を取得した場合でも、すべてのパッケージからアプリ パッケージの 1 番目と 3 番目のカテゴリを無視することで解決策を見つけることができます....

4

1 に答える 1

2

getInstallerPackageName を使用する必要があります。これは、パッケージをインストールしたアプリケーションのパッケージ名を取得します。これにより、パッケージがどの市場から来たかが識別されます。

http://developer.android.com/reference/android/content/pm/PackageManager.html#getInstallerPackageName%28java.lang.String%29

Play ストアの場合は、com.android.vendingからのものかどうかを確認する必要があります。

于 2013-06-11T12:09:06.310 に答える