gpt4 book ai didi

android - 为什么即使我声明了 android :required ="false" attribute? 仍然需要 NFC 功能

转载 作者:行者123 更新时间:2023-11-30 00:04:21 25 4
gpt4 key购买 nike

我在AndroidManifest中写了NFC相关声明如下:

<uses-feature android:name="android.hardware.nfc.hce" android:required="false"/>
<uses-permission android:name="android.permission.NFC" />

我希望通过这种方式,google play 不会在没有 NFC 功能的手机中过滤我的应用程序。但不幸的是,我检查了已安装的应用程序,发现仍然需要 NFC....只是不知道为什么

PackageManager pm = getPackageManager();
try {
PackageInfo packageInfo1 = pm.getPackageInfo("My pakcage name", PackageManager.GET_CONFIGURATIONS);
if(packageInfo1 != null && packageInfo1.reqFeatures != null) {
for(FeatureInfo featureInfo : packageInfo1.reqFeatures) {
Log.d("TAG", "name:"+featureInfo.name + ", flag:" + featureInfo.flags+",version:"+featureInfo.version);
}
}
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}

输出:

03-15 12:21:56.673 17052-17052/mapbox1.myapplication D/TAG: name:android.hardware.nfc.hce, flag:1,version:0

FeatureInfo中的flag为1,表示required....

我在下面粘贴我的 list ,删除 Activity 和服务等: enter image description here

以及完整的输出:

03-15 12:41:02.982 17052-17052/mapbox1.myapplication D/TAG: name:android.hardware.bluetooth_le, flag:1,version:0

03-15 12:41:02.982 17052-17052/mapbox1.myapplication D/TAG: name:android.hardware.nfc.hce, flag:1,version:0

03-15 12:41:02.982 17052-17052/mapbox1.myapplication D/TAG: name:android.hardware.camera, flag:1,version:0

03-15 12:41:02.982 17052-17052/mapbox1.myapplication D/TAG: name:android.hardware.camera.autofocus, flag:0,version:0

自动对焦中的 required=false 可以正常工作,但 NFC 的 required 属性不起作用。 (android.hardware.camera 要求不工作,可能是因为 android.permission.CAMERA)

最佳答案

我怀疑有第三个库覆盖了它,所以我只是添加了 tools:replace="android:required" 来使用应用程序的 android:required="false"。这解决了我的问题

关于android - 为什么即使我声明了 android :required ="false" attribute? 仍然需要 NFC 功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49291516/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com