您的 APK 应该只需要平板电脑上通常可用的硬件功能

Posted

技术标签:

【中文标题】您的 APK 应该只需要平板电脑上通常可用的硬件功能【英文标题】:Your APK should only require hardware features that are usually available on tablets 【发布时间】:2016-05-16 11:15:18 【问题描述】:

下面是我们的应用程序清单的样子,它在 playstore 中发布,我们在优化提示下收到此消息

“。”

此外,我们已验证我们的应用无法在没有手机功能的平板电脑上使用。那么我们怎样才能让它对所有设备都可用。是因为“MODIFY_PHONE_STATE”权限吗?如果是,我们如何解决这个问题?

    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
    <uses-permission android:name="android.permission.GET_TASKS" />
    <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
    <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
    <uses-permission android:name="android.permission.REORDER_TASKS" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

【问题讨论】:

【参考方案1】:

把它放在你的清单中:

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

小心,从现在开始getSystemService(TELEPHONY_SERVICE)可能会返回null,你需要优雅地处理这种情况。

【讨论】:

意味着我们可以删除任何权限?还是仅仅添加这个功能就可以解决问题? @unitedartinc 如果您想使用该功能,您必须保留权限。如果您不一定需要使用该功能,请添加我提到的行并处理代码中没有 TelephonyManager 的情况。

以上是关于您的 APK 应该只需要平板电脑上通常可用的硬件功能的主要内容,如果未能解决你的问题,请参考以下文章

要使“/dev/dsp1”存在,我应该启用哪些配置?

VT-x AMD-V 硬件加速在您的系统中不可用。您的 64-位虚拟机将无法检测到 64-位处理器,从而无法启动

Alpine apk:列出所有可用的软件包版本

哪个adb命令可以查询apk是不是在运行

Intel HAXM怎么安装

mac电脑摄像头关闭广角功能