Android Q 预览版刚出来的时候,就出现一大波文章说,Google将于Android Q摒弃Android Beam,说其效率低,用户使用率不高等等。。。
那么到了Android Q , Android beam如果要开呢?
怎么办?
从AOSP Framework中可以看出,其实还是开了一个API给道OEM来自己定制化这个功能。
frameworks/base/core/java/android/content/pm/PackageManager.java
/**
* Feature for {@link #getSystemAvailableFeatures} and
* {@link #hasSystemFeature}: The Beam API is enabled on the device.
*/
@SdkConstant(SdkConstantType.FEATURE)
public static final String FEATURE_NFC_BEAM = "android.sofware.nfc.beam";
可以看出,到了Android Q 版本,beam需要像HCE那样通过feature的方式来开启功能。
这就意味着,需要在手机中生成相应的feature xml文件来开启。
那么Nfc模块里边是怎么处理的呢?
packages/apps/Nfc/src/com/android/nfc/NfcService.java
PackageManager pm = mConte