[android 10] 백그라운드 서비스가 동작을 멈추었다.
final WorkManager mWorkManager = WorkManager.getInstance();
//final OneTimeWorkRequest mRequest = new OneTimeWorkRequest.Builder(BatteryWorkManager.class).build();
Constraints constraints = new Constraints.Builder().setRequiredNetworkType(NetworkType.CONNECTED).build();
PeriodicWorkRequest pRequest = new PeriodicWorkRequest.Builder(BatteryWorkManager.class, 15, TimeUnit.MINUTES).build();
//.setConstraints(constraints).build();
mWorkManager.enqueue(pRequest);
Log.d(TAG, “############## BatteryWorkManager 호출완료”);
private void callCompleteActivity(Context context, Intent intent){
try {
Log.e("ddolcat", "############################ [callCompleteActivity] start " );
Intent sIntent = new Intent(context, MainActivity.class);
sIntent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP);
sIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //Activity가 아닌 곳에서 startActivity를 사용하려고 할때 필수
context.startActivity(sIntent);
Log.e("ddolcat", "############################ [callCompleteActivity] finish " );
}catch (Exception e){
}
}
MainAcitivy 창 노출을 하지 못했다. 안드로이드 10 부터 안된다. 전체 화면으로 띄우는게 그렇게 문제가 된다는 것일까?
정말 백그라운드 서비스 단에서 Activity를 호출하지 못하는 것인가??? 불행하게도 아래 게시물에 보면 불가능하다!!
Restrictions on starting activities from the background
안드로이드 10부터 noti를 주고 USE_FULL_SCREEN_INTENT를 사용하여 전체화면으로 activity를 띄워야한다.
USE_FULL_SCREEN_INTENT
public static final String USE_FULL_SCREEN_INTENT
Required for apps targeting Build.VERSION_CODES.Q
that want to use notification full screen intents
.
Protection level: normal
Constant Value: “android.permission.USE_FULL_SCREEN_INTENT”