2013-07-28 3 views
1

내 응용 프로그램에 broadcastreceiver가 있는데, 블루투스 장치에 스마트 폰을 연결하면 경고 대화 상자가 표시됩니다. 그러나 화면이 꺼져 있거나 잠금 화면에있는 경우 알림 대화 상자가 표시되지 않으며 잠금 화면이나 스마트 폰의 스마트 폰이 꺼져 있어도 알림 대화 상자를 표시하려고합니다. 어떻게 할 수 있습니까?android broadcastreceiver?

감사합니다.

+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 filter = ....에서 filter로);) 코드를 내 onCreate()에 연결하면 내 화면이 열리지 않고 내 대화 상자가 표시됩니다 ... – nirbe

0

코드를 제공하지 않았으므로 이에 대해 확신 할 수 없습니다. 그러나 문제는 Intent (있는 경우) 또는 어쨌든 대화 상자를 선언하는 컨텍스트와 관련 될 수 있습니다. 문맥/this 대신 context.getApplicationContext()을 사용하십시오.

final Intent dialogIntent = new Intent(context.getApplicationContext(), DialogActivity.class); 
context.startActivity(dialogIntent); 
관련 문제