Android应用不会出现在平板电脑市场上

时间:2013-08-13 15:29:17

标签: android android-permissions

我一直在阅读有关stackoverflow的许多问题,我无法解决这个问题。我有一个具有通话功能但仍需要平板电脑才能访问它的应用。如果我通过USB手动安装它,该应用程序适用于平板电脑,但它不会出现在市场上。我知道关于这个问题还有其他问题,但我也问我是否有任何其他权限在平板电脑上无效。

这是我的清单..

<uses-sdk
    android:minSdkVersion="11"
    android:targetSdkVersion="17"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" android:required="false"/>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
    <uses-permission android:name="android.permission.CALL_PHONE"/>
    <uses-feature android:name="android.hardware.telephony" android:required="false" />
    <!-- External storage for caching. -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <!-- My Location -->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

    <!-- Maps API needs OpenGL ES 2.0. -->

    <uses-feature
    android:glEsVersion="0x00020000"
    android:required="true"/>
    <!-- End of copy. -->
    <supports-screens android:smallScreens="true" 
        android:normalScreens="true" 
        android:largeScreens="true"
        android:xlargeScreens="true"
        android:anyDensity="true" />

我最初只有<uses-permission android:name="android.permission.CALL_PHONE"/>

但我最近补充说..

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

这会解决平板电脑无法拨打电话并将其列在平板电脑市场上的问题吗?

此外,我是否列出了我需要添加android:required="false"的其他权限?

此外,这就是我在代码中调用的方式......

Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse("tel:" + markPhone));
startActivity(callIntent);

1 个答案:

答案 0 :(得分:2)

使用ACTION_DIAL而不是ACTION_CALL

更改您的代码
try {
   Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:" + phoneNumber));
   startActivity( intent );
} catch ( Exception e ) {
   // no dialer activity found...
}

然后你可以完全删除这些:

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

来自您的Manifest,因为您的应用不再需要它们。