2011-09-21 3 views
3

Я пытаюсь использовать метод goToSleep(), чтобы положить телефон в глубокий сон. Программа была установлена ​​в/системный каталог/приложение так Android System Info говорит, что это системное приложение, но если я пытаюсь позвонить goToSleep() я получаю эту ошибкуСистемное приложение Android DEVICE_POWER ошибка разрешения

Ни пользователь, ни 10085 текущий процесс имеет android.permission .DEVICE_POWER.

Код выборки:

  IPowerManager mPowerManager = IPowerManager.Stub.asInterface(ServiceManager.getService("power")); 

      long time = SystemClock.uptimeMillis() + 1000; 
      try { 
       mPowerManager.goToSleep(time); 
      } catch (RemoteException e) { 
       Toast.makeText(getApplicationContext(), "error: " + e.toString(), Toast.LENGTH_LONG).show(); 
       e.printStackTrace(); 
      } 

AndroidManifest.xml

<permission android:name="android.permission.DEVICE_POWER"/> 
<uses-permission android:name="android.permission.DEVICE_POWER" /> 
<permission android:name="android.permission.REBOOT"/> 
<uses-permission android:name="android.permission.REBOOT"/> 

Как я понимаю, если я запустить приложение системы, чем я могу получить доступ ко всем андроида скрытия или системных функций, или я» Неправильно?

То, что я пытаюсь сделать, чтобы запустить приложение в качестве системы applicaiton:

  1. копию файла в/системы/приложения
  2. Чаун 0: 0
  3. CHMOD 4755
  4. CHMOD Ugo + s

Возможно, кто-то еще столкнулся с этой проблемой. Любые предложения были бы полезны

ответ

0

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

+0

Thnx для ответа, но это мне не помогает - я получаю ту же ошибку.
Я пробовал разные вещи, и это похоже на то, что если вы не создаете собственную прошивку и не подписываете свое приложение с тем же ключом, что и прошивка, вы не можете использовать функции hide android.os. –

2

, посмотрев в исходники я вижу, что вам нужно signature permission, я думаю, что это не достаточно, чтобы быть приложение системы, вы должны быть подписаны с таким же серт ПЗУ, один в /system/framework/android/framework-res.apk

2

Разрешение DEVICE_POWER является не доступны для сторонних приложений, таких как ваши.

общественности статической конечной строки DEVICE_POWER Добавлено в уровне API 1

Позволяет низкоуровневый доступ к управлению питанием.

Не используется сторонними приложениями. Постоянная ценность: «android.permission.DEVICE_POWER»

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