gpt4 book ai didi

broadcastreceiver - 应用安装后删除 Apk

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:29:09 26 4
gpt4 key购买 nike

我正在开发一个应用程序,我必须在其中限制用户个人共享 apk。人们可以下载它,但不应允许通过蓝牙等个人共享应用程序 (apk)。

我搜索并阅读了很多有关同一问题的信息,但没有找到完整的答案。我已经尝试了以下。

  1. How to get the file *.apk location in Android device

  2. Download, Installing and Delete .apk file on android device programmatically from a website other than marketplace

我从上面了解到,执行此操作的简单方法是在安装应用程序后从用户设备中删除 apk 文件。 (我也知道用户可以通过 root 访问再次生成此 apk,但这很好,因为至少我可以限制很多但不是全部)。

现在我已经尝试过,我正在注册一个广播接收器,并且在我的 onReceive() 方法中我有以下内容,

PackageManager pm = getPackageManager();

for (ApplicationInfo app : pm.getInstalledApplications(0)) {
if (myPackage.equalsIgnoreCase(app.packageName)) {
apkPath = app.sourceDir;
break;
}
}
Log.d("Package", myPackage + " - APK - " + apkPath);
if (intent.getAction().equals("android.intent.action.PACKAGE_ADDED")) {
File sdcard = Environment.getExternalStorageDirectory();
File file = new File(sdcard, apkPath);
file.delete();
}

但这没有任何作用,因为我不知道应该使用 IntentFilter 来注册它。

任何人都可以指导我下一步是什么吗?如果我完全走错了路,请帮助我实现上述目标?

任何帮助将不胜感激。 :)

最佳答案

在更高版本的 Android 上,某些(全部?)广播只有在至少手动打开应用一次后才会发送到该应用。这是一项无法规避的安全功能。

关于broadcastreceiver - 应用安装后删除 Apk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23469247/

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