2013-06-15 5 views
0

브로드 캐스트 리시버를 사용하여 다른 활동에서 활동을 시작해야하는 안드로이드 앱을 사용 중입니다. 내 애플리케이션이 백그라운드에 있으면 내 활동이 일시 중지 상태로 전환됩니다. 다른 활동을 시작할 수 있습니다 좀 도와주세요 왜 일어나고 코드는브로드 캐스트 리시버를 사용하여 일시 중지 활동에서 활동이 시작되지 않음

@Override 
    public void onReceive(Context context, Intent intent) { 
     // TODO Auto-generated method stub 
     Intent vidIn = new Intent(); 
    vidIn.setClass(this, Activity1.class); 
    vidIn.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    this.startActivity(vidIn); 
    } 
} 
+0

활동을 시작하는 컨텍스트 사용 context.startActivity (vidIn); – Raghunandan

답변

0

브로드 캐스트 리시버가 양식이있을 것이다이 발사되는

<receiver android:name="com.example.MyBroadcastReceiver"/> 

의도 (독립형 일)의 AndroidManifest.xml에 등록 할 수있다이다 :

Intent startActivityIntent = new Intent(context, NewActivity.class); 
startActivityIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
context.startActivity(startActivityIntent); 
+0

사실 내가 화면에서 온 브로드 캐스트를 수신 중이고 OFF 이벤트. 메디 페스트 파일로 정의하면 작동하지 않습니다 .registerReceiver (trigerReceiverClass, new IntentFilter (Intent.ACTION_SCREEN_ON)); \t registerReceiver (trigerReceiverClass, 새 IntentFilter (Intent.ACTION_SCREEN_OFF)); –

+0

일시 중지 활동이 파괴되지 않은 새 활동을 시작할 수없는 이유는 무엇입니까? 이론상으로 –

+0

은 활동이 일시 중지 된 경우 등록 해제되어야합니다. http://stackoverflow.com/questions/4619374/when-to-unregister-broadcast-receiver. 그래서 매니 페스트에있는 방송 수신기가 당신의 친구입니다. 응용 프로그램이 모두 종료 된 경우에도 깨어납니다. – robotoaster

관련 문제