startservice在Android中不工作
我是Android新手。现在我正在使用服务类做一个项目。在我的应用程序中包含一个列表视图。当我们单击列表视图中的项目时,一个服务类将启动 但是在那个地方发生了一些问题。在第一个应用程序打开时,服务类将工作。但是如果我们返回并再次按下ListView,服务类将不工作。也就是说,那个时候不打电话。为什么会发生这个问题。请帮帮我。代码如下所示startservice在Android中不工作,android,service,Android,Service,我是Android新手。现在我正在使用服务类做一个项目。在我的应用程序中包含一个列表视图。当我们单击列表视图中的项目时,一个服务类将启动 但是在那个地方发生了一些问题。在第一个应用程序打开时,服务类将工作。但是如果我们返回并再次按下ListView,服务类将不工作。也就是说,那个时候不打电话。为什么会发生这个问题。请帮帮我。代码如下所示 lv.setOnItemClickListener(new OnItemClickListener() { @Override pub
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
String item=pat_id[arg2];
CommonClass.item=item;
System.out.println("item 1" +CommonClass.item);
startService(new Intent(getApplicationContext(),LocationService.class));
//new Async_view_report().execute(rep_url,item,CommonClass.doctor_id);
}
});
}
lv.setOnItemClickListener(新的OnItemClickListener(){
@凌驾
公共链接(AdapterView arg0、视图arg1、内部arg2、,
长arg3){
//TODO自动生成的方法存根
字符串项=pat_id[arg2];
CommonClass.item=项目;
系统输出打印项次(“项目1”+通用类项目);
startService(新意图(getApplicationContext(),LocationService.class));
//新建Async_view_report().execute(rep_url、item、CommonClass.doctor_id);
}
});
}
一旦启动服务
,它将在后台一直运行,直到您调用stopSelf()
。如果您尝试在服务仍在运行时再次启动该服务,它将无法工作。在这种情况下,您应该使用bindService()
。我的建议是在您完成操作后停止服务。lv.setOnItemClickListener(新的OnItemClickListener(){
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
String item=pat_id[arg2];
CommonClass.item=item;
System.out.println("item 1" +CommonClass.item);
Intent intent = new Intent(getApplicationContext(),LocationService.class);
startService(intent);
}
});
@凌驾
公共链接(AdapterView arg0、视图arg1、内部arg2、,
长arg3){
//TODO自动生成的方法存根
字符串项=pat_id[arg2];
CommonClass.item=项目;
系统输出打印项次(“项目1”+通用类项目);
Intent Intent=新的Intent(getApplicationContext(),LocationService.class);
startService(意向);
}
});
试试这个试试在清单文件中用完整地址声明服务, 例如:-
<service android:enabled="true" android:name="com.example.LocationService"></service>
是的。我在清单文件中声明服务在服务类内部运行异步任务时有任何问题。这里有一个异步任务在服务类中运行。这不是真的,您应该阅读https://developer.android.com/reference/android/content/Context.html?hl=es-419#startService(android.content.Intent)
对该方法的每次调用都将导致对目标服务的onStartCommand(Intent,int,int)方法的相应调用
即使该服务正在运行,请放入您的服务类这应该是正确的答案,我忘记了在从其他项目复制粘贴后添加到清单,但接受的答案甚至不是真的