2011-11-08 2 views
1

두 개의 수신자가 매니페스트 파일에 있습니다. 하나는 작동하지 않습니다. 매니페스트에 여러 수신기를 사용할 수 있습니까?androidmanifest 여러 수신자

<receiver android:name=".services.MobileViaNetReceiver"> 
    <intent-filter> 
     <action android:name="android.intent.action.BOOT_COMPLETED"></action> 
    </intent-filter> 
</receiver> 

<receiver android:name=".services.SessionManager"> 
    <intent-filter> 
     <action android:name="android.intent.action.SCREEN_OFF"></action> 
     <action android:name="android.intent.action.ACTION_SHUTDOWN"></action> 
     <action android:name="android.intent.action.SCREEN_ON"></action> 
    </intent-filter> 
</receiver> 

UPDATE >>>>>>>>>>>>>>>>>>>>>>

액션 SHUTDOWN 나를 위해 일하고있다. 다음은 확실히 SHUTDOWN 의도를 얻을로, 방송 수신기가 작동, SessionManager에

public class SessionManager extends BroadcastReceiver{ 
Date timeOff; 
Date timeOn; 


@Override 
public void onReceive(Context context, Intent intent) {  

    if("android.intent.action.SCREEN_OFF".equals(intent.getAction())) { 
     timeOff = Calendar.getInstance().getTime(); 
    } 

    if("android.intent.action.ACTION_SHUTDOWN".equals(intent.getAction())) { 
     Functions.logout(context); 
    } 

    if("android.intent.action.SCREEN_ON".equals(intent.getAction())) { 
     timeOn = Calendar.getInstance().getTime(); 
     long diffInMs = timeOn.getTime()-timeOff.getTime(); 

     // convert it to Minutes 
     long diffInMins = TimeUnit.MILLISECONDS.toMinutes(diffInMs); 

     if ((int) (diffInMins) > 15) { 
      Functions.logout(context); 

     } else { 
      Log.i("MobileViaNetReceiver", "User still active"); 
     } 
    } 
} 

}

+0

그러나 SCREEN_OFF 및 SCREEN_ON는 SessionManager에이 –

답변

0

시도가 작동하지 않는 리시버의 인 텐트 필터 내부에 다음과 같은 추가.

<category android:name="android.intent.category.DEFAULT" /> 
+0

나를 위해 작동하지 않았다 작동하지 않는 나를 – user533844