Можно ли создать основную активность в DoWork () WorkManager? - PullRequest
0 голосов
/ 05 ноября 2019

Если действие приложения ставит в очередь периодическую работу и уничтожается, можно ли для периодической работы запускать основное действие?

Я назначил контекст приложения переменной контекста в конструкторе и пытался использовать контекст приложения черезКласс обработчика в методе doWork ().

Мне удалось использовать контекст приложения в doWork (). но я не знаю, как воссоздать основной вид деятельности. Я имею в виду, я хочу запустить свое приложение в рабочей теме.

//java
public Result doWork() {

    Handler handler = new Handler(Looper.getMainLooper());
    handler.postDelayed(new Runnable() {
        @Override
        public void run() {
            String str = "BackGround Service running... " + called;
            Toast.makeText(mContext, str, Toast.LENGTH_SHORT).show();
            /*
            I want to run my application again in here 
            */                                  
        }
    }, 0);
    return Result.success();
}

1 Ответ

1 голос
/ 05 ноября 2019
//java
public Result doWork() {
  Handler handler = new Handler(Looper.getMainLooper());
  handler.postDelayed(new Runnable() {
    @Override
    public void run() {
        String str = "BackGround Service running... " + called;
        Toast.makeText(mContext, str, Toast.LENGTH_SHORT).show();
        Intent intent = new Intent( mContext ,MainActivity.class); 
        mContext.startActivity(intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));                              
    }
  }, 0);
  return Result.success();
}

Это работает ... это лучший способ?

...