我正在尝试在android中创建一个服务,我想继续无限期地在后台运行。所以我尝试创建一个像:
@Override
public IBinder onBind(Intent arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public void onCreate() {
super.onCreate();
}
@Override
public void onDestroy() {
super.onDestroy();
Toast.makeText(this, mssg, Toast.LENGTH_SHORT).show();
}
public int onStartCommand(Intent intent, int flags,int startid) {
Toast.makeText(this, mssg, Toast.LENGTH_LONG).show();
Log.d("Start:", "Service running");
// my code here
return START_STICKY;
}
但是当我运行此代码时,toast消息和日志只显示一次,所以它意味着服务仅在第一次运行。如果它再次运行n再次调用它的哪个API?
谢谢, 阴影。
答案 0 :(得分:1)
无限期地运行服务并一次又一次地运行相同的代码是两回事。只要Android系统不决定停止它,您提供的代码就可以让服务运行后台。
不确定您要实施哪些功能,但我建议您仔细阅读服务的用途以及您的要求。
答案 1 :(得分:0)
我建议你改变return START_STICKY;
与return START_NOT_STICKY;
详见文档here。