启动serviceIntent intent = new Intent("com.Sevices.mqtt.ReceivingMessageService");intent.putExtra("message", s);startService(intent);注册<service android:name="com.Sevices.mqtt.ReceivingMessageService"/>service的onStartCommand方法public int onStartCommand(Intent intent, int flags, int startId) {// TODO Auto-generated method stubLog.i("serv1", "onStartCommand");String s = intent.getStringExtra("message");if (s != null && s.length() > 0){Log.i("serv1", "message:"+s);}return super.onStartCommand(intent, flags, startId);}
1 回答
holdtom
TA贡献1805条经验 获得超10个赞
你只是简单的注册了<service android:name="com.Sevices.mqtt.ReceivingMessageService"/>
并没有给这个service起个名字,所以Intent intent = new Intent("com.Sevices.mqtt.ReceivingMessageService");
这样调用是启动不了你的service的,请改为类似如下:
Intent intent = new Intent(MainActivity.this,com.Sevices.mqtt.ReceivingMessageService.class);
或者在manifest中加个别名:
<service android:name="com.Sevices.mqtt.ReceivingMessageService">
<intent-filter>
<action android:name="com.Sevices.mqtt.ReceivingMessageService" />
</intent-filter>
</service>
- 1 回答
- 0 关注
- 568 浏览
添加回答
举报
0/150
提交
取消
