2013-08-13 3 views
2

Я читал много вопросов о stackoverflow, и я не могу понять эту проблему. У меня есть приложение, которое имеет функцию вызова, но я все еще хочу, чтобы планшеты имели к нему доступ. Приложение работает на планшетах, если я вручную установил его через USB, но он не появится на рынке. Я знаю, что есть другие вопросы по этой проблеме, но я также спрашиваю, есть ли какие-либо другие разрешения, которые у меня есть, которые не будут работать на планшетах.Android-приложение не отображается на рынке планшета

Вот мой манифест ..

<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); 

ответ

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" /> 

с вашего манифеста, так как ваше приложение больше не нуждается в них.

+0

Спасибо за ваш ответ, я попробую его. Но есть ли другие разрешения, которые заставят приложение не появляться на планшетах на рынке? – Zack

+0

Какая разница между action_dial и action_call? –