如何申请android.permission.CALL_PHONE但仍安装在平板电脑上?

时间:2015-04-24 15:18:33

标签: android google-play

我有一个我刚刚发布到Play商店的应用,它显示为"此应用与您的所有设备不兼容"当我尝试从缺乏电话的平板电脑访问它时。它可以安装在实际的Android手机上。

事情就是这样 - 我们希望用户能够在没有手机的平板电脑和其他设备上安装应用,并且只是让电话功能无法正常工作。但是如果我在清单中包含CALL_PHONE权限,则Play商店只是不允许安装它。

<uses-permission android:name="android.permission.CALL_PHONE" />

如何让Google Play允许要求CALL_PHONE权限的应用安装在没有手机的设备上?

1 个答案:

答案 0 :(得分:6)

您可以指定Telephony是可选的:

<uses-feature android:name="android.hardware.telephony" android:required="false"/>

documentation说:

  

下表列出了暗示功能要求的权限   相当于元素中声明的那些。注意    声明,包括任何声明的android:required   属性,始终优先于超过隐含的功能   以下权限。

     

对于以下任何权限,您可以根据以下内容禁用过滤   通过明确声明隐含特征的隐含特征   明确地,在元素中,用   android:required =“false”属性。例如,禁用任何   根据CAMERA权限进行过滤,您可以添加此权限    声明清单文件:

<uses-feature android:name="android.hardware.camera" android:required="false" />

在您的情况下,表格的相关部分是:

Cateegory   This permission...     Implies This Feature Requirement 
Telephony   CALL_PHONE             android.hardware.telephony
            CALL_PRIVILEGED        android.hardware.telephony
            MODIFY_PHONE_STATE     android.hardware.telephony
            PROCESS_OUTGOING_CALLS android.hardware.telephony
            READ_SMS               android.hardware.telephony
            RECEIVE_SMS            android.hardware.telephony
            RECEIVE_MMS            android.hardware.telephony
            RECEIVE_WAP_PUSH       android.hardware.telephony
            SEND_SMS               android.hardware.telephony
            WRITE_APN_SETTINGS     android.hardware.telephony
            WRITE_SMS              android.hardware.telephony