相关疑难解决方法(0)

我们如何防止服务被操作系统杀死?

Service在我的应用程序中使用它需要运行,直到我的应用程序被卸载,但问题是它被操作系统杀死.

我们怎样才能防止它被操作系统杀死?或者,如果它被杀死,我们可以通过编程方式再次重启该服务吗?

android android-service

45
推荐指数
6
解决办法
6万
查看次数

如何强制重启服务?

我有一个后台服务,当内存不足时,它有时会被操作系统杀死.

  1. 如何模拟这种行为,以便我可以调试它?

开发指南简单地说"如果您的服务已启动,那么您必须将其设计为优雅地处理系统重新启动.如果系统终止您的服务,它会在资源再次可用时立即重新启动".

  1. 从被杀死到完成重启的调用顺序是什么?

在一个(相关的)问题上,当服务被操作系统杀死时,在服务中启动的主动运行的AsyncTask会发生什么,即没有service.onDestroy被调用?它是否继续运行或与服务一起静静地撕开?

service android restart low-memory kill-process

16
推荐指数
1
解决办法
1万
查看次数

Android服务遇难

我有一个服务在与我的应用程序相同的过程中运行.

有时Android操作系统决定终止我的服务(可能是由于内存不足).

我的问题是:我的应用程序是否与服务一起被杀?或者它是如何工作的?

谢谢!

service android

14
推荐指数
1
解决办法
2万
查看次数

如何从应用程序内重新启动Android应用程序

我需要在用户更改首选项时重新启动应用程序.清除堆栈对我没有帮助,因为这不会取消后端服务调用.我想杀死应用程序进程本身.我在用

Process.killProcess(Process.myPid());
Run Code Online (Sandbox Code Playgroud)

它可以帮我杀死应用程序.但我需要的是重新启动应用程序.意味着终止进程并触发新进程,以便应用程序再次启动.

有没有办法做到这一点?

提前致谢.

lifecycle android

7
推荐指数
2
解决办法
1万
查看次数

START_STICKY,前台Android服务在没有通知的情况下消失

我在我的新应用程序中启动了一项服务.该服务是有前途的,带有通知.当在AVD 2.1 API Level 7中运行时,一切正常.但是当它在运行Gingerbread的三星Galaxy Tab上运行时,服务将启动(图标和应用程序名称出现在通知区域的顶部),但几秒钟后,服务就会消失.我可以看到的Log中的最后一个条目与我的App相关联,是我的Log.d("Taglines","Return with with"+ START_STICKY)的结果,它紧接在"return START_STICKY"之前.在我的服务的onStartCommand覆盖中,如下所示:

@Override
public int onStartCommand(Intent intent, int flags, int startId) {

    int rc ;
    Log.d("Taglines","onStartCommand()");
    Toast.makeText(this, "Starting service TagsManager", Toast.LENGTH_SHORT).show();
    Log.d("Taglines","Calling super.onStartCommand()");
    rc = super.onStartCommand(intent,flags,startId);
    Log.d("Taglines","super.onStartCommand return code was " + rc);
    createNotification(INITIAL_NOTIFICATION_TEXT);
    Log.d("Taglines","Returning with " + START_STICKY);
    return START_STICKY ;
}
Run Code Online (Sandbox Code Playgroud)

通知设置如下:

void createNotification(String text) {

    Log.d("Taglines","createNotification called");
    if (mNotificationManager == null) {
        // Get a reference to the Notification Manager
        String ns = Context.NOTIFICATION_SERVICE;
        mNotificationManager = (NotificationManager) getSystemService(ns);
        Log.d("Taglines","Obtained …
Run Code Online (Sandbox Code Playgroud)

service android foreground

7
推荐指数
1
解决办法
1万
查看次数