2013-05-20 165 views
0

这个问题我已经搜索了所有相关的主题似乎没有得到完美的回答。一般来说,我在“LoginActivity.class”启动服务,显然该服务可以停止在任何活动。在我的项目中,我在每个活动的onDestroy上都有一个StopService命令,按照我们的规则,服务将被停止。但是,事实上,在收到错误消息“无法关闭服务...”之后,设备弹出对话框“强制关闭...”。如何停止android服务?

为了您的帮助,我的服务使用BroadcastReceiver来控制蓝牙通信。希望听到你们所有人的反馈。非常感谢你!

+1

邮政** **满和堆栈跟踪与沿一些代码。 –

+0

必须有一些其他异常阻止它。粘贴一些代码和堆栈跟踪。 – Sandeep

+0

肯定会使用这个工作。或发布您的logcat – Shadow

回答

-1

您可以使用它来停止服务

   @Override 
      public void onDestroy() 
     { 
    Toast.makeText(this, "Service has been Stopped", Toast.LENGTH_SHORT) 
    .show(); 
    stop(); 
    } 
+0

的OP的问题已经提到,他停在'的onDestroy服务()' – ozbek

+0

这里是我的活动和服务: LoginActivity.class: ... //启动蓝牙服务 \t \t意向startService = new Intent(this,BTService.class); \t \t startService(startService); ... –

+0

这里是我的活动和服务: “LoginActivity.java”: 保护无效的onCreate(捆绑savedInstanceState){ ... //启动蓝牙服务 \t \t意向startService =新意图(这一点, BTService.class); \t \t startService(startService); ...} “GeneralInfoActivity.java”: 公共无效的onDestroy(){ ... stopService(新意图(GeneralInfoActivity.this,BTService.class)); ...} 该服务用于设备与其他设备之间的蓝牙交易。如果我没有配对或启动BT连接,退出应用程序会导致错误,但在完成事务后,退出应用程序即可。 ?? –