从最近的应用程序关闭应用程序时运行服务

时间:2017-06-12 10:11:20

标签: android android-service

我想继续运行一项服务,即使应用程序关闭后也会读取传入的消息[点击最近的应用程序按钮,然后关闭它]。我尝试过使用START_STICKY,孤立的进程,但没有任何工作。在最新的Android版本中是否可能?

4 个答案:

答案 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从头开始重启它是否已完成它的工作!