我总是为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");
}
答案 0 :(得分:1)
一个古老的问题,但我认为了解华为具有一项称为“耗电量大的应用程序监控器”的功能非常重要。
除非用户授予特殊的权限,否则它将杀死长时间在后台运行的每个应用程序。
执行此操作的路径: 设置->安全和隐私->位置服务->最近的位置请求:您的应用名称->电池->取消选中耗电的提示,应用启动:手动管理:检查所有三个位置:自动启动,二次启动,在以下位置运行背景。
我不知道是否有办法以编程方式执行此操作。我认为最好的方法是创建一种帮助活动,并向用户解释如果应用程序无法运行该怎么办。
答案 1 :(得分:0)
您应该停止方法@Override onDestroy()
上的服务