1、android startservice無法啟動服務
之前MainActivity.java中啟動service源代碼如下:
private void startMyService() { //啟動Service處理任務 Intent intent2 = new Intent(this, SmartCamService.class); Log.d("mainactivity》》","啟動服務"+MainActivity.this.startService(intent2)); }
配置文件AndroidMainfest.xml代碼如下:
<application android:allowBackup="true" android:icon="@mipmap/cap" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".main.MainActivity" android:label="@string/app_name" android:theme="@style/AppTheme.NoActionBar"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application>
這樣運行老是啟動不了服務,日志老是返回NULL
3、解決辦法:
在配置文件中加入如下代碼:
<application android:allowBackup="true" android:icon="@mipmap/cap" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".main.MainActivity" android:label="@string/app_name" android:theme="@style/AppTheme.NoActionBar"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <service android:name=".service.SmartCamService" android:label="SmartCamService" android:enabled="true" > <intent-filter> <action android:name="android.intent.action.RESPOND_VIA_MESSAGE" /> </intent-filter> </service> </application>
4、然后在再在MainActivity.java中加入如下代碼:
private void startMyService() { //啟動Service處理任務 Intent intent2 = new Intent(this, SmartCamService.class); intent2.setAction("android.intent.action.RESPOND_VIA_MESSAGE"); Log.d("mainactivity》》","啟動服務"+MainActivity.this.startService(intent2)); }
5、現在啟動程序,查看后台就會發現服務已經啟動。
6、歡迎各位網友多多指教。