[英]Android things (Raspberry Pi 3) BluetoothAdapter.startLEScan(..)
我正在嘗試做:
BluetoothAdapter.getDefaultAdapter().startLeScan()
我已經添加了所有必需的權限(據我認為):
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.BLUETOOTH_PRIVILEGED" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
請注意,無論Android事物是否基於Android 7.0運行,它都不支持運行時權限
我在日志中得到的是:
java.lang.SecurityException: Need ACCESS_COARSE_LOCATION or ACCESS_FINE_LOCATION permission to get scan results
根據文檔,它應該能夠開始掃描具有所有權限的文件,但是由於某種原因它不希望這樣做。
我在Raspberry Pi 3上使用Android Things的0.4.0-devpreview
您需要在應用啟動后重新啟動設備才能訪問權限
在下一次重新啟動設備之前,不會授予應用程序請求的危險權限。 這包括新的應用程序安裝和現有應用程序中的新元素。
https://developer.android.com/things/preview/releases.html
強制授予權限的另一種方法是,使用adb
和-g
標志啟動您的應用程序( 這在以后的AndroidStudio版本中將是默認設置 )
./gradlew assembleDebug
adb install -g app/build/outputs/apk/app-debug.apk
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.