私の Android アプリでは、アプリのインストール元を確認したいと考えていました。Android のドキュメントを調べたところ、PackageManager クラスの一部として次の API が見つかりました。
abstract String getInstallerPackageName(String packageName)
パッケージをインストールしたアプリケーションのパッケージ名を取得します。
次にonCreate
、MyActivity のメソッドで次のコードを使用しました。
if(Build.VERSION.SDK_INT >= 11)
{
PackageManager myapp= this.getPackageManager();
String installer = myapp.getInstallerPackageName("com.MyPackage");
if(installer == null)
{
Toast.makeText(getApplicationContext(), MyActivity.this.getString(R.string.invalidsource), Toast.LENGTH_SHORT).show();
MyActivity.this.finish();
}
}
null
しかし、この API は実際のデバイスで返されるようです。
アプリのインストール元を取得する他の手段があれば教えてください。