android.permission.CALL_PHONE:为手机和平板电脑制作单个apk:

时间:2012-06-26 15:12:31

标签: android

我希望我的应用可用于手机和平板电脑。手机和平板电脑版本的唯一区别是:在“手机”版本中,我的应用程序有按钮,可以拨打一定数量的电话。 我的问题是:为了能够拨打电话,我需要为清单文件添加权限 -

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

此权限使应用程序与平板电脑不兼容。如果我删除了该权限,则应用无法在电话上启动呼叫。如何制作支持手机和平板电脑并允许通过手机拨打电话的应用程序?

2 个答案:

答案 0 :(得分:7)

Play商店中的单个应用程序可以有多个apks,很多应用程序使用它来自定义体验。 如果您在Play商店页面上看到提及的Android版本有所不同,那么您就知道他们正在遵循这种方法。

您可以在第二个项目中删除此权限,并删除与电话相关的代码。根据设备的类型,Play商店将显示相应的apk(即手机的电话权限apk和平板电脑的第二个)

<强>替代地

在Android Manifest文件中使用

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

并在您的代码中

boolean hasTelephony = context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY);

我已从Supporting android devices with phone and without phone capabilities

获取此信息

答案 1 :(得分:2)

请参阅此问题,android.permission.CALL_PHONE for tablets,手机应用通常适用于平板电脑,如果您遇到问题,请考虑发布两个不同版本的应用程序,一个用于手机,另一个用于平板电脑。