У меня есть малина pi, установленная с предварительным просмотром разработчика Android.Как получить доступ к HardwarePropertiesManager на Android Things
Я хотел бы контролировать температуру процессора и использование самой малины.
Мой подход заключается в использовании HardwarePropertiesManager так:
HardwarePropertiesManager hardware = (HardwarePropertiesManager) getSystemService(Context.HARDWARE_PROPERTIES_SERVICE);
float[] cpuTemperature = hardware.getDeviceTemperatures(HardwarePropertiesManager.DEVICE_TEMPERATURE_CPU, HardwarePropertiesManager.TEMPERATURE_CURRENT);
Этот вызов требует разрешения владельца устройства или профиль владельца (или вр).
Я никогда не использовал владелец устройства, так что я следовал за разъяснения по этим ссылкам:
Но я получаю следующее сообщение об ошибке в ADB оболочке:
java.lang.RuntimeException: Can't set package ComponentInfo{com.myexample.androidthings/com.myexample.androidthings.BasicDeviceAdminReceiver} as device owner.
at com.android.commands.dpm.Dpm.runSetDeviceOwner(Dpm.java:149)
at com.android.commands.dpm.Dpm.onRun(Dpm.java:96)
at com.android.internal.os.BaseCommand.run(BaseCommand.java:51)
at com.android.commands.dpm.Dpm.main(Dpm.java:41)
at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:262)
Здесь мой манифест:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.myexample.androidthings.service">
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<application
android:allowBackup="true"
android:icon="@android:drawable/sym_def_app_icon"
android:label="@string/app_name">
<uses-library android:name="com.google.android.things"/>
<activity android:name="com.myexample.androidthings.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<!-- Launch activity automatically on boot -->
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.IOT_LAUNCHER"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
<service android:name="org.eclipse.paho.android.service.MqttService"></service>
<receiver
android:name="com.myexample.androidthings.BasicDeviceAdminReceiver"
android:permission="android.permission.BIND_DEVICE_ADMIN" >
<meta-data
android:name="android.app.device_admin"
android:resource="@xml/device_policies"/>
<intent-filter>
<action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
<action android:name="android.app.action.DEVICE_ADMIN_DISABLE_REQUESTED" />
<action android:name="android.app.action.DEVICE_ADMIN_DISABLED" />
</intent-filter>
</receiver>
</application>
</manifest>
Произошла ли какая-либо ошибка в прошлом, может дать мне подсказку, где мне нужно искать ошибку. Возможно, мой подход неверен, и я могу получить измерения ЦП более простым способом.
Пожалуйста, отчет об ошибке о проблеме вы имеете получения соответствующих разрешений использовать этот API: https://code.google.com/p/android/ вопросы/запись? template = Android% 20Things% 20bug% 20report – Devunwired
Привет, вы решили? –