2014-12-22 4 views
1

Я получаю странную ошибку после перезапуска, когда я включаю и выключаю экран, нажатие кнопки «домой» приводит к черному экрану, и мне нужно перезагрузить компьютер, чтобы снова контролировать свой телефон.Черный экран при нажатии кнопки «Главная»

Я использую BroadcastReceiver, чтобы узнать, когда экран выключается и работает, чтобы сделать некоторую логику.

public void onReceive(Context context, Intent intent) { 

     if (intent.getAction().equals("android.intent.action.SCREEN_OFF")) { 
      if (context.getSharedPreferences(Constant.SETTING_PREFERENCE, 0) 
        .getBoolean(Constant.SETTING_LOCKSCREEN_STATUS, false)) { 
       Intent intent1 = new Intent(context, LockScreenActivity.class); 
       intent1.addFlags(0x10000000); 
       context.startActivity(intent1); 
      } 

     } else { 
      if (intent.getAction().equals("android.intent.action.SCREEN_ON")) { 
       if (context 
         .getSharedPreferences(Constant.SETTING_PREFERENCE, 0) 
         .getBoolean(Constant.SETTING_LOCKSCREEN_STATUS, false)) { 
        (new Intent(context, TestActivity.class)) 
          .addFlags(0x10000000); 
       } 
       return; 
      } 
      if (intent.getAction().equals(
        "android.intent.action.BOOT_COMPLETED")) { 
       if (context 
         .getSharedPreferences(Constant.SETTING_PREFERENCE, 0) 
         .getBoolean(Constant.SETTING_LOCKSCREEN_STATUS, false)) { 
        Intent intent2 = new Intent(context, 
          TestActivity.class); 
        intent2.addFlags(0x10000000); 
        context.startActivity(intent2); 
       } 
       return; 
      } 
     } 

я могу иногда воспроизвести эту ошибку, и из LogCat я могу увидеть: Waited long enough for: ServiceRecord но служба работает. Не знаете, как справиться с этой ситуацией.

+0

Вы пишете этот код, пытающийся исправить проблему, или у вас есть только проблема, когда вы используете этот код? Что именно делает этот код? –

+0

Я внес изменения в код, чтобы начать работу. Это та же ситуация. Моей областью является запуск активности после перезагрузки, и на экране включено (если оно было выключено). На nexus (android 5) у меня есть эта проблема, на samsung, что я тестировал до сих пор, все в порядке. – user1140656

+0

Я начинаю думать, что это связано с SmartLock (я отключил его, и проблема не появляется сейчас.) – user1140656

ответ

1

Вы создали это намерение, но не запустили его. Этот код не действует:

   (new Intent(context, TestActivity.class)) 
         .addFlags(0x10000000); 
+0

Да, мое плохое. Я изменил и начал заниматься там. Это та же ситуация. – user1140656

+0

Я не могу воспроизвести проблему снова. поэтому я принял ответ как правильный. спасибо. – user1140656

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