我有以下清单:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.myapp.MainActivity"
android:versionCode="1"
android:versionName="1.0.0" >
<supports-screens
android:anyDensity="false"
android:largeScreens="true"
android:normalScreens="true"
android:resizeable="false"
android:smallScreens="true"
android:xlargeScreens="true" >
</supports-screens>
<uses-permission
android:name="android.permission.RECEIVE_SMS"
android:required="false" >
</uses-permission>
<uses-permission
android:name="android.permission.SEND_SMS"
android:required="false" >
</uses-permission>
<uses-permission
android:name="android.permission.ACCESS_COARSE_LOCATION"
android:required="false" >
</uses-permission>
<uses-permission
android:name="android.permission.ACCESS_FINE_LOCATION"
android:required="false" >
</uses-permission>
<uses-permission android:name="android.permission.INTERNET" >
</uses-permission>
<uses-permission
android:name="android.permission.CALL_PHONE"
android:required="false" >
</uses-permission>
<uses-sdk android:minSdkVersion="7" ></uses-sdk>
<receiver
android:enabled="true"
android:name="com.myapp.receiver" >
<intent-filter android:priority="10" >
<action android:name="android.intent.action.DATA_SMS_RECEIVED" />
<data
android:host="localhost"
android:port="12345"
android:scheme="sms" />
</intent-filter>
</receiver>
如果我将其上传到Android电子市场,那么对于像Galaxy Tab 10.1这样的平板电脑,该应用程序是不可见的。
我认为屏幕设置没问题,因为我有第二个应用程序具有相同的设置,这一个是可见的。 所以我认为这是因为权限..
有人能帮助我吗?
答案 0 :(得分:19)
如何将此添加到您的清单中:
<uses-feature android:name="android.hardware.telephony" android:required="false"/>
(要在您的清单标签下添加)
答案 1 :(得分:6)
市场似乎推断,只要将某些权限添加到AndroidManifest.xml,就需要电话支持,例如:默认情况下,READ_SMS
或CALL_PHONE
似乎都会导致Market仅向启用电话的设备提供应用。
检查是否发生这种情况的最佳方法是登录您的Android电子市场发布帐户,并查找“所需设备功能”部分:
现在查看上面的“显示设备”链接。这对于确切地检查您的应用程序可以下载的设备模型非常有用。
单击“显示设备”,然后搜索您感兴趣的设备。“Xoom”是一个很好的检查,因为它只是wifi,目前不包括任何电话支持:
其他设备可能更棘手。三星选项卡有一系列设备,一些具有电话功能(您需要点击“制造商搜索结果”下的“三星”链接才能看到这些列表):
...还有一些没有电话(在这种情况下,它们不支持我的应用):
修复方法是在您的应用程序的AndroidManifest.xml中将telephony设置为可选:
<uses-feature android:name="android.hardware.telephony" android:required="false"/>
即使Android认为设备不支持电话(例如仅限wifi的三星Tab),它也可能支持非本地方式的电话(例如Skype)。有关更多信息,请参阅我的答案:
Android Device phone call ability
答案 2 :(得分:0)
尝试添加:
<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
/>