我想继续运行一项服务,即使应用程序关闭后也会读取传入的消息[点击最近的应用程序按钮,然后关闭它]。我尝试过使用START_STICKY,孤立的进程,但没有任何工作。在最新的Android版本中是否可能?
答案 0 :(得分:0)
在startForeground(notitficationId, notificationObject);
onStartCommand()
命令
答案 1 :(得分:0)
private void startForground(){
Intent notificationIntent = new Intent(this,MainActivity.class);
PendingIntent pendingIntent=PendingIntent.getActivity(this, 0,
notificationIntent, Intent.FLAG_ACTIVITY_NEW_TASK);
Notification notification=new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_launcher)
.setContentText("App Name")
.setContentIntent(pendingIntent)
.build();
startForeground(NOTIFICATION_ID, notification);
}
如果您不想显示通知或图标但仍希望在后台运行,请尝试this answer
答案 2 :(得分:0)
制作粘性服务,确保您在应用关闭后重新启动,但您需要在onStartComand()
中调用您的方法。
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
// do your job here
// start reading your incoming messages
readMessages();
return START_STICKY;
}
答案 3 :(得分:0)
尝试
public int onStartCommand(Intent intent, int flags, int startId)
{
..........
return super.onStartCommand(intent, flags, startId);
}
但是当你关闭应用程序onStartCommand从头开始重启它是否已完成它的工作!