2016-02-10 2 views
0

У меня проблемы с блокировкой Wake. Я последовал за этим: http://developer.android.com/reference/android/os/PowerManager.html и несколькими другими учебниками. У меня есть намерение, которое запускает другую деятельность. Здесь мне нужно разбудить дисплей, чтобы пользователь мог закончить какую-то работу. Однако, с кодом ниже, дисплей темный и проигрыватель мультимедиа. Не могли бы вы рассказать мне, что я делаю неправильно?Android Wake Lock

в ожидании намерения

public class AlarmReceiver extends BroadcastReceiver { 

@Override 
public void onReceive(Context context, Intent intent) { 
    Intent lightIntent = new Intent(context, lightWakeup.class); 
    lightIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //volani aktivity z broadcast receiveru 
    context.startActivity(lightIntent); 
} 

}

lightWakeup.class

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_light_wakeup); 

    PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); 
    PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK, "My Tag"); 
    wl.acquire(); 
    //Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    //setSupportActionBar(toolbar); 
    text = (TextView)findViewById(R.id.textView); 
    //zapnuti hudby 

    MainPage.mp.setVolume(100, 100); 
    MainPage.mp.setLooping(true); 
    MainPage.mp.start(); 

    sensorManager = (SensorManager) getSy.. 

Manifest: <uses-permission android:name="android.permission.WAKE_LOCK">

+0

AFAIK, WakeLock не разбудит экран, он только удерживает CPU активным. Таким образом, попробуйте [this] (http://stackoverflow.com/a/9703871/5690248). –

+0

Спасибо, я нашел решение там. –

ответ

0

Это помогло

Ke yguardManager km = (KeyguardManager) context.getSystemService (Context.KEYGUARD_SERVICE); final KeyguardManager.KeyguardLock kl = km.newKeyguardLock ("MyKeyguardLock"); kl.disableKeyguard();

PowerManager pm = (PowerManager) context.getSystemService (Context.POWER_SERVICE); wakeLock = pm.newWakeLock (PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.ON_AFTER_RELEASE, «MyWakeLock»); wakeLock.acquire();

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