工人不在后台使用三星S10 Android 9和杀死的应用程序



我想做一个定期的过程,每X分钟显示一次通知,关闭应用程序,在后台等。

我使用工人管理器,在模拟器 Pixel 2 API 28 上工作正常,但在我的三星 Galaxy S10 API 28 上仅在用户使用应用程序时工作(而不是在应用程序后台、关闭等时(。

我读了很多关于,该应用程序不是挂起,电池充电器等。 当我打电话给工人时,小米代码。

PeriodicWorkRequest work = new PeriodicWorkRequest.Builder(WorkerCucu.class, 15, TimeUnit.MINUTES, 5, TimeUnit.MINUTES).build();
// OneTimeWorkRequest oneTimeWorkRequest= new OneTimeWorkRequest.Builder(WorkerCucu.class).setInitialDelay(1,TimeUnit.MINUTES).build();
WorkManager.getInstance(context).enqueue(work);

和工人

public class WorkerCucu extends Worker {
public static String TAG = "WorkerCucu";
Context ctx;
public WorkerCucu(@NonNull Context context, @NonNull WorkerParameters workerParams) {
super(context, workerParams);
Log.d(TAG, "On constructor");
this.ctx=context;
}
@NonNull
@Override
public Result doWork() {
// OneTimeWorkRequest oneTimeWorkRequest= new OneTimeWorkRequest.Builder(WorkerCucu.class).setInitialDelay(1, TimeUnit.MINUTES).build();
//WorkManager.getInstance(ctx).enqueue(oneTimeWorkRequest);
Log.d(TAG, "On dowork");
if(ctx!=null) {
SharedPreferences prefs = ctx.getSharedPreferences("CUCU", ctx.MODE_PRIVATE);
prefs.edit().putLong("lastcucu",new Date().getTime()).apply();
prefs.edit().commit();
showNotification(ctx);
}
return Result.success();
}
public void showNotification(Context context){
Log.d("onReceive", "ladskjflsakjdflskjdflskjdfslkjdflasdf");
//  Toast.makeText(context, "OnReceive alarm test", Toast.LENGTH_SHORT).show();
SharedPreferences preferences =context.getSharedPreferences("cucu",Context.MODE_PRIVATE);
NotificationCompat.Builder builder = new NotificationCompat.Builder(context, "channel_1")
.setSmallIcon(R.drawable.ajustes_ima_cucu)
.setContentTitle("Bible Cucu")
.setContentText("Tu versiculo a cada momento")
.setPriority(NotificationCompat.PRIORITY_DEFAULT);
Intent intentMain=new Intent(context, MainActivity.class);
intentMain.putExtra("inicia_cucu", true);

PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intentMain, 0);
builder.setContentIntent(pendingIntent);

NotificationManagerCompat not=NotificationManagerCompat.from(context);
not.notify(1231,builder.build());
}
}

谢谢!!

不确定您是否找到了解决方案。确保在构建时对 apk 进行签名。否则,从"最近"中删除时,应用将被强制停止

相关内容

  • 没有找到相关文章

最新更新