我需要检测我的应用程序是从谷歌播放还是其他市场安装的,我怎么能得到这些信息?
在我的Android应用程序中,我想检查应用程序安装的来源.我查看了Android文档,发现以下API是PackageManager类的一部分:
Run Code Online (Sandbox Code Playgroud)abstract String getInstallerPackageName(String packageName)检索安装包的应用程序的包名称.
然后我在onCreateMyActivity 的方法中使用了以下代码:
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();
}
}
Run Code Online (Sandbox Code Playgroud)
但看起来这个API null在真实设备上返回.
如果我们有任何其他方式获取应用程序安装源,请告诉我.