在mainactivity代码如下
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
resources = getResources();
Intent intent = new Intent(this,TestService.class);
//intent.setAction("com.wyj.TEST_SERVICE");
startService(intent);TestService注册如下
<sercice android:name="com.WYJ.services.TestService">
<intent-filter>
<action android:name="com.wyj.TEST_SERVICE"/>
</intent-filter>
</sercice>
TestService代码如下
public class TestService extends Service {
private static final String TAG = "Testservice";
public TestService() {
// TODO Auto-generated constructor stub
}
@Override
public IBinder onBind(Intent arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
// TODO Auto-generated method stub
System.out.println("Testservice start");
Log.d(TAG, "Testservice start");
return START_STICKY;
}
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
Log.d(TAG, "Testservice start");
}
}
运行后logcat并没有打印提示信息,求各位解答
------解决思路----------------------
最低 sdk 版本太低吧?这种情况可以考虑在 manifest 的 service 标签里设置 android:enable="true"
------解决思路----------------------
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
// TODO Auto-generated method stub
System.out.println("Testservice start");
Log.d(TAG, "Testservice start");
return super.onStartCommand(intent, flags, startId); // <=加上这行代码
}
------解决思路----------------------
改成这么注册试试
<service android:name=".TestService" />
你把service写成sercice,xml文件里也是这样吗?
------解决思路----------------------
<sercice android:name="com.WYJ.services.TestService">
<intent-filter>
<action android:name="com.wyj.TEST_SERVICE"/>
</intent-filter>
</sercice>
这里