2012-03-28 60 views
2

这是我的我的清单的权限的部分:当我尝试安装包,威泽德只显示了互联网和写入外部安装程序没有显示我请求所有权限(安卓)

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.adelco.ventamovil" 
android:versionCode="1" 
android:versionName="1.0"> 
<uses-sdk android:minSdkVersion="8" /> 
<uses-permission android:name="android.permission.INTERNET"></uses-permission> 
<uses-permission android:name="android.permission.INSTALL_PACKAGES"></uses-permission> 
<uses-permission android:name="android.permission.DELETE_PACKAGES"></uses-permission> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> 

但存储权限。

10月3日至28日:48:36.627:警告/ PackageManager(144):未 授予权限android.permission.INSTALL_PACKAGES打包

的DDMS透视当我安装应用程序引发此警告消息 com.adelco.ventamovil(的ProtectionLevel = 3个标志= 0xbe44)

十月3日至28日:48:36.627:WARN/PackageManager(144):未授予权限 android.permission.DELETE_PACKAGES打包com.adelco.ventamovil (protectionLevel = 3标志= 0xbe44)

这里发生了什么....?

谢谢!

回答

4

对不起,

安装,删除软件包系统权限。除非您的应用使用设备的平台证书签名(除非您有权访问制造商的签名证书,否则这是不可能的),否则您将无法获得这些证书。

正如你可以想象的那样,如果任意应用程序可以静默安装其他应用程序,那将是一个严重的安全问题。

您可以做的最好的方法是将用户发送到软件包安装页面,并让他们在需要时采取措施。看看这个动作的意图,你可以发送到启动这一进程的安装,

http://developer.android.com/reference/android/content/Intent.html#ACTION_INSTALL_PACKAGE

和卸载,

http://developer.android.com/reference/android/content/Intent.html#ACTION_UNINSTALL_PACKAGE

-1

你把你的权限这样吗?

<manifest 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.your.package" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk android:minSdkVersion="8" /> 

    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.INSTALL_PACKAGES" /> 
    <uses-permission android:name="android.permission.DELETE_PACKAGES" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
+0

是的......我将清单的头文件添加到示例代码中... – Desenfoque 2012-03-28 14:09:35

3

INSTALL_PACKAGESDELETE_PACKAGES要么在signature或组中并且因此不能被授予一个“普通的”应用:

,该系统仅授予对应用程序是在Android系统图像或与相同的证书签名的那些系统中的权限图片

请参阅android:protectionLevel

+0

等待...但是它一直工作到昨天...并且它应该在模拟器中工作? – Desenfoque 2012-03-28 14:11:15

+0

@Desenfoque你的意思是“它的工作”究竟是什么意思?你可以安装或删除软件包?我几乎不能相信。它只需要在模拟器中工作,如果签名证书将包含在那里,但我怀疑这一点。 – Leo 2012-03-28 16:50:55