android - Android 工作管理器在我的 oppo 手机中无法使用
问题描述
我编写了这个程序来与服务器同步数据。在与服务器检查之前。我编写了一个程序,每 15 分钟发送一次通知。我的手机是oppo A71 安卓7.1版
当我关闭应用程序时,以下代码不起作用。
MainActivity.java
PeriodicWorkRequest periodicWorkRequest = new PeriodicWorkRequest.Builder(
MyPeriodicWork.class,15, TimeUnit.MINUTES)
.addTag("send data") .build();
WorkManager.getInstance().enqueue(periodicWorkRequest);
MyPeriodicWork.java
public class MyPeriodicWork extends Worker {
private static final String FILE_NAME = "chata.txt";
private static final String TAG = "MyPeriodicWork";
public MyPeriodicWork(@NonNull Context context, @NonNull WorkerParameters workerParams) {
super(context, workerParams);
}
@NonNull
@Override
public Result doWork() {
showNotif();
Log.e(TAG,"doWork:work is done");
return Result.success();
}
public void showNotif(){
Intent intent = new Intent(getApplicationContext(),MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
PendingIntent pendingIntent = PendingIntent.getActivity(getApplicationContext(),0,intent,0);
Calendar calendar = Calendar.getInstance();
SimpleDateFormat mdformat = new SimpleDateFormat("HH:mm:ss");
String strDate = "Current Time : " + mdformat.format(calendar.getTime());
NotificationCompat.Builder notificationCompat = new NotificationCompat.Builder(getApplicationContext(),"14")
.setSmallIcon(R.mipmap.ic_launcher)
.setContentTitle("Event Handler")
.setContentText("Helloo"+strDate)
.setContentIntent(pendingIntent)
.setAutoCancel(true);
NotificationManagerCompat notificationManagerCompat = NotificationManagerCompat.from(getApplicationContext());
notificationManagerCompat.notify(4,notificationCompat.build());
}
}
我是否需要为清单文件添加一些权限。如果是,这些代码是什么。
解决方案
这个问题在中国自定义 rom 上他们已将所有应用程序列入黑名单,除了一些大应用程序,如 Facebook、whatsapp 等
推荐阅读
- python - 如何将总和值分组放入新列 pandas
- reactjs - 自动完成 MaterialUI - 如何在分组自动完成中设置默认值
- github - 我的 github 帐户被标记为 spsam,我不知道为什么,请有人告诉我如何恢复?
- elasticsearch - journalbeat 未将日志发送到 ElasticSearch 或未在 Kubernetes 的控制台上输出日志
- javascript - 使用 Javascript 对多个属性进行分组和求和
- openstack - 在 Openstack 中查找 Ceph RBD 的已用空间
- snowflake-cloud-data-platform - 从 Snowpro 认证的角度来看,Premier 版仍然是有效版吗?
- python - Python中如何区分两种相似的函数或方法?
- ajax - ajax调用上的Laravel加载视图未显示更改
- flutter - 预先填写的表格并进行编辑