Activity 不是从 Android JobService 开始

Activity not starting from Android JobService

我正在尝试从 Android Jobservice 启动一个 activity,但它没有启动。 当我使用 addAction 方法从通知构建器启动 activity 时,我能够做到这一点,但同样我必须在没有任何用户同意的情况下这样做,但我失败了。

     final Intent intent1 =  Intent intent = new Intent(context, onActivity.class);
     final PendingIntent pendingIntent = PendingIntent.getActivity(this, "1",
                    intent1 , PendingIntent.FLAG_ONE_SHOT);
if(acceptvalid) {
    mBuilder.setContentTitle(getString(R.string.app_name))
                    .setContentText(getString(R.string.on))
                    .setSmallIcon(R.drawable.icon)
                    .setDefaults(Notification.DEFAULT_ALL)
                    .setPriority(NotificationCompat.PRIORITY_HIGH)
                    .setVisibility(Notification.VISIBILITY_PUBLIC)
                    .setAutoCancel(true)
                    .addAction(R.drawable.ic_yes, getString(android.R.string.yes), installPendingIntent);
                   
    
    notificationManager.notify(1, mBuilder.build());
} else {
     try{           
              installPendingIntent.send();
     } catch (PendingIntent.CanceledException e) {
             LOG.error("error starting activity.", e);
        }
    }

上面的 if 循环代码对我有效,而 else 无效。我什至在 else loop

中尝试了下面的代码
intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
this.startActivity(intent1 );

有人可以指出我的错误或提出任何建议。

提前致谢。

来自Android 10 个后台应用不允许直接启动活动。相反,他们需要向用户显示通知并获得用户同意。一个例外情况是如果您的应用已授予 SYSTEM_ALERT_WINDOW 权限。

https://developer.android.com/guide/components/activities/background-starts