Android protectionlevel = 3

时间:2011-05-20 16:37:14

标签: android permissions install protection securityexception

我正致力于为我的应用程序提供自动更新。我能够连接到我们的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

1 个答案:

答案 0 :(得分:0)

您是否在清单中添加了<uses-permission android:name="android.permission.INSTALL_PACKAGES"/>