InstallerPackageName

最近Androiderなのでアプリ周りメモ

PackageManager.getInstallerPackageName()でアプリをインストールしたパッケージ名を取得可能
PackageManager  |  Android Developers

public abstract String getInstallerPackageName(String packageName)
Retrieve the package name of the application that installed a package. This identifies which market the package came from.

例えばGoogle PlayからDLしたアプリだと "com.android.vending" が付加されている。


他方、アプリからのapkのインストールはMIME type指定したIntent発行で行えるが、
http://techbooster.org/android/application/14715/
この際に、intent.putExtra(Intent.EXTRA_INSTALLER_PACKAGE_NAME, "com.test.market");
とputExtraすることでInstallerPackageNameを付加できる。
(できるかもみたいな情報しかなかったが、実際やってみたらできた)