2013-07-28 2 views
1

У меня есть широковещательная передача в моем приложении, и это хорошо работает, когда я подключаюсь к смартфону к устройству Bluetooth, он показывает мне диалоговое окно предупреждения. Но если экран выключен или на экране блокировки, он не показывает мне диалоговое окно предупреждения, и я хочу показать диалоговое окно предупреждения, даже если смартфон на экране блокировки или на экране выключен. Как я могу это сделать?андроид радиоприемник когда экран выключен или заблокирован?

Спасибо!

+0

У меня такая же проблема. У вас есть решение для этого? –

+0

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

+0

Мне нужно использовать другое действие вместо диалогового окна предупреждения. См. Мой ответ на этот пост, если вы хотите перенести эту деятельность на фронт, даже если при заблокированном экране http://stackoverflow.com/questions/4352548/how-to-unlock-the-screen-when-broadcastreceiver-is-called/31726130 # 31726130 – Junaid

ответ

0
public class ScreenReceiver extends BroadcastReceiver { 


    public static boolean wasScreenOn = true; 

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

     } 
    } 
} 

Так вы регистрируете приемник.

IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON); 
filter.addAction(Intent.ACTION_SCREEN_OFF); 
BroadcastReceiver mReceiver = new ScreenReceiver(); 
registerReceiver(mReceiver, filter); 
+0

Я не понимаю, как это использовать ... – nirbe

+0

просто создайте класс ScreenReceiver и примените код 'registerReceiver' в' onCreate() '. – mjosh

+0

он не работает, я делаю класс ScreenReceiver и добавляю все registerReceiver (из фильтра IntentFilter = .... для фильтрации);) для моего onCreate(), и он не открывает мой экран и показывает мой диалог ... – nirbe

0

Поскольку вы не указали какой-либо код, я не могу быть уверен в этом. Однако ваша проблема может быть связана с контекстом, из которого вы объявляете Intent (если есть), или в любом случае в диалоговом окне. Попытайтесь использовать context.getApplicationContext() вместо контекста/этого:

final Intent dialogIntent = new Intent(context.getApplicationContext(), DialogActivity.class); 
context.startActivity(dialogIntent); 
Смежные вопросы