我正致力于为我的应用程序提供自动更新。我能够连接到我们的FTP服务器,下载apk并调用Android软件包安装程序。我在安装过程后列出了其他步骤,比如删除下载的apk..etc。但是一旦我调用Android Package安装程序,我的当前线程退出时抛出以下消息:
“未授予权限android:permission.INSTALL_PACKAGES到package.com.csg.android(protectionLevel = 3 flags = 0x8be46)”
我需要帮助来解决我遇到的这个问题。出现这种情况的原因以及解决这些问题的方法?
非常感谢任何帮助。
谢谢, 纳文
修改
在阅读了我的帖子的初步评论之后,我想我会再次澄清这个问题并添加我正在使用的代码。
这是代码`
File file = new File(getFilesDir(), filename);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(file),
"application/vnd.android.package-archive");
startActivity(intent);
deleteFiles();
`
是的,我还为INSTALL_PACKAGES添加了uses-permission标记。
正如我在原帖中所说,我能够调用Package安装程序,我收到安装提示,安装过程顺利完成。但我遇到的问题是我编写的安装后的步骤..即执行函数 deleteFiles();
我的线程终止执行 startActivity(intent),我想这会处理控件以打包安装程序并调用安装过程。当我检查logcat日志文件以查看线程终止的原因时,我发现上面发布的关于 protectionLevel 的消息。我希望我现在很清楚。感谢帮助。
是的,我确实在其他帖子中搜索了 protectionLevel 问题,但我没有找到任何相关信息。
谢谢, NavinC
答案 0 :(得分:0)
您是否在清单中添加了<uses-permission android:name="android.permission.INSTALL_PACKAGES"/>
?