啟動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 關注
- 506 瀏覽
添加回答
舉報
0/150
提交
取消