我在Android电子市场上有一个Android应用程序,但有些用户抱怨在安装开始时显示错误,就在下载之后:
其中一个人向我发送了一个显示此错误的视频,我可以看到此错误不是由应用程序引起的,而是可能是在权限/功能过程的验证中。
据我所知,这个错误只发生在运行Eclair的摩托罗拉Droid / Milestone设备上,而Froyo则不会发生这种错误。不幸的是,为了运行logcat并检查发生了什么,我无法访问任何像这样的设备。
以下是我在AndroidManifest.xml上的权限/功能:
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.location" />
<uses-feature android:name="android.hardware.telephony" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_GPS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
答案 0 :(得分:2)
我终于通过获取Droid设备并运行logcat来了解发生了什么:
E / PackageManager(1280):软件包com.mycompany.myapp需要不可用的功能android.hardware.telephony;失败!运行Eclair的Motorola Droid设备无法安装声明
的应用程序<uses-feature android:name="android.hardware.telephony" />
在他们的清单中。但这很奇怪,因为Android Market应该将它隐藏在这些设备之外。这可能是由摩托罗拉对Eclair所做的更改造成的错误,因为运行Eclair的其他设备不会发生这种错误,也不会使用同样的Droid运行Froyo。
答案 1 :(得分:1)
根据docs:
Android Market尝试发现应用程序的隐含功能 通过检查清单中声明的其他元素的要求 文件,特别是&lt; uses-permission&gt;元件。
鉴于此,您是否尝试删除uses-feature标记?由于使用权限标记为implied,并且您没有使用“android:required”属性。
答案 2 :(得分:1)
当我安装从Play商店下载的应用程序且必须授予其权限时,设备说“此设备无法使用此功能”