-1

привет, мне нужно, чтобы экран устройства отображался в настроении, а приложение работает. отключите функциональность кнопки питания от экрана. Я попытался следующие кодыКнопка отключения питания Android отключена и отключена во время запуска приложения

getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD); 

и будить замки

@Override 
public void onReceive(Context context, Intent intent) { 
     if ((intent.getAction().equals(Intent.ACTION_SCREEN_OFF))) { 

      PowerManager pm = (PowerManager)context.getSystemService(Context.POWER_SERVICE); 
      wakeLock = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.ON_AFTER_RELEASE, "TEST"); 
      wakeLock.acquire(); 

      AlarmManager alarmMgr = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE); 
      Intent inten = new Intent(context,NewActivity.class); 
      PendingIntent pi = PendingIntent.getActivity(context, 0, inten, 0); 
      alarmMgr.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, 100, pi); 
      } 
     } 

// Finish your WakeLock HERE. call this method after U put the activity in front or when u exit from the new activity. 
    public void finishWakeLocker(){ 
        if (wakeLock != null) 
        wakeLock.release(); 
    } 

Заранее спасибо

+0

Возможный дубликат http://stackoverflow.com/questions/3703071/how-to-hook-into-the- power-button-in-android/10365166 # 10365166 – Sunny

+0

попробовал это, но его только для долгого нажатия. Мне нужно для события onclick. –

ответ

1

Это не представляется возможным, по соображениям безопасности. Кнопки HOME и POWER - это две вещи, которые вы не сможете напрямую переопределить без разрешения системы. В конце концов, пользователь не хотел бы, чтобы ваше приложение контролировало свое устройство, не так ли? ;-)

Вы должны планировать функциональность таким образом, что wakelock или

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 

достаточно :-)

EDIT:

Есть учебники, такие как одной Удай но эффекты в целом ненадежны и работают только на некоторых устройствах. Я разработал такое приложение и доверяю мне, вы не хотите отлаживать это ;-)

+0

спасибо за объяснение. –

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