当前位置: 代码迷 >> Android >> Service不能启动有关问题
  详细解决方案

Service不能启动有关问题

热度:29   发布时间:2016-04-28 03:58:28.0
Service不能启动问题
在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); // <=加上这行代码
}

------解决思路----------------------
引用:
Quote: 引用:


@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); // <=加上这行代码
}
按照你说的加了代码,运行后logcat这样提示到底是什么原因呢

改成这么注册试试

<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>

这里
  相关解决方案