我正在编写一个通过蓝牙连接到设备的应用程序,但每次我想用BluetoothDevice
做一些事情时,我都必须插入一个权限检查,如下所示(Kotlin):
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.BLUETOOTH_CONNECT) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(
this,
arrayOf(Manifest.permission.BLUETOOTH_CONNECT),
42
)
}
是否有在应用程序开始时进行一次权限检查的解决方案?
谢谢你,谢谢你
2条答案
按热度按时间2skhul331#
我们必须检查授予的权限,否则它可能会崩溃您的应用程序。但我们可以在Kotlin非常方便的方式。
在您的MainActivity或Very first Activity中,请求蓝牙许可,如下所示。
1.在活动中创建权限回调。
1.在活动的onCreate方法中请求权限。
1.创建一个Kotlin扩展函数,以确保仅在授予蓝牙权限时运行。
1.在任何需要的地方使用它的扩展功能。
例如:
在秒活动中.kt
nuypyhwy2#
用户可以在任何时候通过应用设置撤销权限。当权限被撤销时,Activity将被重新创建。这意味着您必须在
onCreate
之后和使用权限之前至少检查一次,如果您仍然拥有该权限。TL;DR
否,您的应用程序可能会崩溃。