首先第一步要獲取藍牙許可權和位置許可權,在 Android 6.0(API 23) 以上不僅需要靜態添加許可權(在 AndroidMainfest.xml 中配置),而且還需要在程式中動態的獲取許可權,以下是部分需要動態獲取的許可權。
Android Studio Bluetooth藍牙獲取許可權 |
靜態添加 AndroidManifest.xml:
<manifest ... > <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> <!-- If your app targets Android 9 or lower, you can declare ACCESS_COARSE_LOCATION instead. --> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> ... </manifest> |
MainActivity.java 動態添加:
public void requestPower() {
//判斷是否已經賦予許可權 if (ContextCompat.checkSelfPermission(this, Manifest.permission.上表許可權字元) != PackageManager.PERMISSION_GRANTED) { //如果應用之前請求過此許可權但用戶拒絕了請求,此方法將返回 true。 if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.上表許可權字元)) { //這裡可以寫個對話方塊之類的項向用戶解釋為什麼要申請許可權,並在對話方塊的確認鍵後續再次申請許可權.它在使用者選擇"不再詢問"的情況下返回false } else { //申請許可權,字串陣列內是一個或多個要申請的許可權,1是申請許可權結果的返回參數,在onRequestPermissionsResult可以得知申請結果 ActivityCompat.requestPermissions(this, new String[]{ Manifest.permission.上表許可權字元,}, 1); } } } |
參考網址:
※ 藍牙許可權限
沒有留言:
張貼留言