gpt4 book ai didi

android - getInstallerPackageName 返回 null

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:43:46 34 4
gpt4 key购买 nike

在我的 Android 应用程序中,我想检查应用程序安装的来源。我查看了 Android 文档,发现以下 API 作为 PackageManager 类的一部分:

abstract String getInstallerPackageName(String packageName) 

Retrieve the package name of the application that installed a package.

然后我在MyActivity的onCreate方法中使用了如下代码:

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();
}
}

但看起来这个 API 在真实设备上返回 null

如果我们有任何其他方式获取应用程序安装源,请告诉我。

最佳答案

如果你想测试这个,方法是使用 将 apk 存储在设备上

adb push 'test.apk' '/sdcard/Download'

然后在终端中输入“adb shell”并按回车键进入 adb shell,然后使用以下命令进行安装

pm install -i 'installernameyouwant'/sdcard/Download/test.apk

在上述方法中安装应用程序时,对 getInstallerPackageName() 的调用返回您在上述命令中提供的安装程序名称

关于android - getInstallerPackageName 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12593621/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com