我正在开发一个小的SDK,它必须通过.aar文件包含在项目中。在这个SDK中,我有一个方法定义如下:
/**
* Sends an "open lock" request for the bike, with the ble name provided as param. Requires ACCESS_FINE_LOCATION and
* BLUETOOTH permission
*
* @param bikeBleName The BLE name of the searched bike, normally starts with 'BS' prefix
* @param listener Listener for the operation state, returns success or an error string with the detailed error
*/
@RequiresPermission(allOf = [Manifest.permission.BLUETOOTH, Manifest.permission.ACCESS_FINE_LOCATION])
override fun startRent(bikeBleName: String, bikeMode: BikeMode, listener: StartRentListener) {
GlobalScope.launch {
startRentManager.startRent(bikeBleName, bikeMode, listener)
}
}
如您所见,该方法用注释
@RequiresPermission(allOf = [Manifest.permission.BLUETOOTH, Manifest.permission.ACCESS_FINE_LOCATION])
但是,如果我从我的ProjectMainActivity调用该方法,android studio会告诉我该方法需要权限检查,但它不会告诉我需要哪些权限。
我想获得的是android studio告诉我“这个方法需要访问\u fine\u位置和蓝牙权限”,类似下面的屏幕截图。我怎样才能做到?谢谢
库模块的清单文件是:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="it.zehus.bikeaccesssdk">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.BLUETOOTH"/>
</manifest>