由于这个恼人的 Android 限制,我需要用户重新安装我的应用程序,以便其他应用程序检测到清单权限。
这已经让用户感到沮丧,但此外,我看不到从存储在 /data/app 中的 apk 重新安装我的应用程序的方法,因此我必须在触发之前将相同的版本下载到存储卡中通常的安装意图。
我急切地等待有人告诉我我遗漏了一些明显的东西!我画了一个空白...
提前致谢。
如果您希望看到问题得到解决,请给问题加注星标!干杯。
编辑:考虑到@hackbod 的注释,您可以使用以下代码启动安装对话框。
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(this.getApplicationInfo().sourceDir)),
"application/vnd.android.package-archive");
startActivity(intent);
在我的 Jelly Bean 设备上,这提供了两个选项:包安装程序和验证并安装。我不知道后者是否会处理以下问题:
- 以这种方式安装您的应用程序可能会从 Play 商店中删除它的所有权
我的申请是免费的,所以我无法测试以下付费问题:
- 但是请注意,如果您的应用程序被前向锁定(由于应用程序加密,这对于以 JB 开头的所有付费应用程序都是不可避免的),那么这将不起作用,因为您的应用程序可执行文件不被其他人读取
尽管 hackbod 以“其他人可读”结束,这表明如果您通过自己的代码执行此操作,那么对于您自己的应用程序,它是可读的吗?如果您可以对此进行测试,请纠正我,我错了。