ElP*_*tzo 8 permissions android screen android-manifest android-market-filtering
我有以下清单:
<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>
Run Code Online (Sandbox Code Playgroud)
如果我将其上传到Android Market,那么对于像Galaxy Tab 10.1这样的平板电脑,应用程序是不可见的.
我认为屏幕设置没问题,因为我有第二个应用程序具有相同的设置,这一个是可见的.所以我认为这是因为权限..
有人能帮助我吗?
eMi*_*ich 19
如何将此添加到您的清单:
<uses-feature android:name="android.hardware.telephony" android:required="false"/>
Run Code Online (Sandbox Code Playgroud)
(要在您的清单标签下添加)
市场似乎推断,只要某些权限被添加到AndroidManifest.xml,就需要电话支持,例如默认情况下,READ_SMS或者CALL_PHONE两者似乎都导致Market仅向启用电话的设备提供应用程序.
检查是否发生这种情况的最佳方法是登录您的Android电子市场发布帐户,并查找"必需的设备功能"部分:

现在查看上面的"显示设备"链接.这对于准确检查可以下载应用程序的设备模型非常有用.
单击"显示设备",然后搜索您感兴趣的设备."Xoom"是一个很好的检查,因为它目前只是wifi,并且目前不包括任何电话支持:

其他设备可能更棘手.三星选项卡有一系列设备,一些具有电话功能(您需要点击"制造商搜索结果"下的"三星"链接才能看到这些列表):

......还有一些没有电话(在这种情况下,它们不支持我的应用):

解决方法是在您的应用程序的AndroidManifest.xml中将电话设置为可选:
<uses-feature android:name="android.hardware.telephony" android:required="false"/>
Run Code Online (Sandbox Code Playgroud)
即使Android认为设备不支持电话(例如,仅限wifi的三星Tab),它也可能以非本地方式支持电话(例如Skype).有关详细信息,请参阅此处的答案:
Android设备电话呼叫功能
| 归档时间: |
|
| 查看次数: |
4520 次 |
| 最近记录: |