3

У меня есть малина 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); 

Этот вызов требует разрешения владельца устройства или профиль владельца (или вр).

Я никогда не использовал владелец устройства, так что я следовал за разъяснения по этим ссылкам:

Android Kiosk Mode Example

Android Shell Command DPM

Но я получаю следующее сообщение об ошибке в 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> 

Произошла ли какая-либо ошибка в прошлом, может дать мне подсказку, где мне нужно искать ошибку. Возможно, мой подход неверен, и я могу получить измерения ЦП более простым способом.

+2

Пожалуйста, отчет об ошибке о проблеме вы имеете получения соответствующих разрешений использовать этот API: https://code.google.com/p/android/ вопросы/запись? template = Android% 20Things% 20bug% 20report – Devunwired

+0

Привет, вы решили? –

ответ

0

Изменить намеренный фильтр к этому

<intent-filter> 
       <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" /> 
       <action android:name="android.app.action.ACTION_DEVICE_ADMIN_DISABLE_REQUESTED" /> 
       <action android:name="android.app.action.ACTION_DEVICE_ADMIN_DISABLED" /> 
      </intent-filter> 

 Смежные вопросы

  • Нет связанных вопросов^_^