只是在华为设备中的app cloes时服务被杀死了

时间:2018-02-01 09:35:59

标签: android android-service

我总是为Toast一个文本提供服务但只是在huawei设备服务中杀死了我杀了app 我不知道为什么?

我的服务是:

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    onTaskRemoved(intent);
    new CountDownTimer(99999999L,5000 ) {
        @Override
        public void onTick(long arg0) {
                Toast.makeText(getApplicationContext(), "hihihi", Toast.LENGTH_LONG).show();
        }

        @Override
        public void onFinish() {
        }
    }.start();
    return START_STICKY;
}

@Override
public IBinder onBind(Intent intent) {
    // TODO: Return the communication channel to the service.
    throw new UnsupportedOperationException("Not yet implemented");
} 

2 个答案:

答案 0 :(得分:1)

一个古老的问题,但我认为了解华为具有一项称为“耗电量大的应用程序监控器”的功能非常重要。

除非用户授予特殊的权限,否则它将杀死长时间在后台运行的每个应用程序。

执行此操作的路径: 设置->安全和隐私->位置服务->最近的位置请求:您的应用名称->电池->取消选中耗电的提示,应用启动:手动管理:检查所有三个位置:自动启动,二次启动,在以下位置运行背景。

我不知道是否有办法以编程方式执行此操作。我认为最好的方法是创建一种帮助活动,并向用户解释如果应用程序无法运行该怎么办。

答案 1 :(得分:0)

您应该停止方法@Override onDestroy()

上的服务