Ash*_*man 5 android uses-feature
这里是 <uses-feature>和<uses-permission>在清单文件中指定为我的Android应用程序
<uses-feature
android:name="android.hardware.telephony"
android:required="false" />
<uses-feature
android:name="android.hardware.location"
android:required="false" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
Run Code Online (Sandbox Code Playgroud)
我知道这些用于为应用程序指定所需的硬件/软件功能.此标签也会在Google Play中过滤我们的应用程序.我的应用程序也没有显示某些设备,包括平板电脑.我有些疑惑.
如果我们指定<uses-permission>不使用, 会发生什么<uses-feature>吗?例如:使用权限CALL_PHONE,MODIFY_PHONE_STATE等...而不指定硬件功能android.hardware.telephony
单击两个按钮时,我的应用程序触发了以下接收器.如何从代码中检查这些功能?
android:name ="android.intent.action.NEW_OUTGOING_CALL"动作android:name ="android.intent.action.PHONE_STATE"
提前致谢
(1)你需要定义既<uses-permission />和<uses-feature />,然后设置android:required="false"了该功能.例如
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-feature android:name="android.hardware.wifi" android:required="false" />
Run Code Online (Sandbox Code Playgroud)
在这种情况下,您将获得权限,但不需要该功能,您可以检查它是否在您的代码中可用.为了那个原因
(2)你应该使用PackageManager.hasSystemFeature()方法.例如
PackageManager mgr = context.getPackageManager();
boolean hasTelephony = mgr.hasSystemFeature(PackageManager.FEATURE_TELEPHONY);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1937 次 |
| 最近记录: |