키패드가 잠겨있을 때 새로운 Activity "ActivityB"를 시작합니다 (키패드가 잠기기 전에 ActivityA가 백그라운드로 설정되었습니다). ActivityB가 30 초 후에 종료되고 자체를 닫으 려하므로 30 초 후 마무리 작업을 호출했지만 표시되지는 않습니다. 잠금을 해제하면 배경에 2 개의 앱/활동이 표시됩니다. 그래서 activityB를 끝내기 위해 Intent.ACTION_USER_PRESENT broadcastreceiver를 사용했으나 여전히 작동하지 않습니다.브로드 캐스트 리시버의 백그라운드 활동 완료
Manifest.xml
<receiver
android:name="com.example.reciever.UnlockReceiver">
<intent-filter>
<action android:name="android.intent.action.USER_PRESENT" />
</intent-filter>
</receiver>
UnlockReceiver :
private Activity b;
onCreate() {
b= this;
}
: 공용 클래스 UnlockReceiver가 {
@Override
public void onReceive(Context arg0, Intent intent) {
if (ActivityB.b != null) {
ActivityB.b .finish();
}
}
}
ActivityB 브로드 캐스트 리시버를 확장 우리가 푸시받을으로3210
ActivityB이 시작됩니다 :
Intent pushIntent = new Intent(context.getApplicationContext(), ActivityB.class);
pushIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
내가 장치의 잠금을 해제 할 때 onReceive 잘이라고 참조하지만 백그라운드에서 ActivityB을 finsih하지 않습니다. 따라서 백그라운드에서 같은 앱 2 개를 볼 수 있습니다.
I 30 초 후 마무리이라고를, 작동 것 같지 않습니다. ActivityB는 pushnotification을 기반으로 시작되었습니다. 나는 분명히 ActivityT를 지우는 CLEAR TASK를 사용했습니다. –
백그라운드 서비스에서 명확한 작업을 구현하려고 시도합니다. –
android : launchMode = "singleTop"설정과 같이 보입니다. –