关于网友提出的“ 安卓广播启动Service失败的问题”问题疑问,本网通过在网上对“ 安卓广播启动Service失败的问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 安卓广播启动Service失败的问题
描述:各位大侠好,我的Service可以在主线程启动,输出显示只执行了 onCreate 方法,Service 的 onStart 有一条删除线。但是如果用 BroatcastReceiver 来启动的话,onCreate 也没有输出,请问这是为什么呢?下面是代码:
MyBroadcastReceiver.java
public class MyBroadcastReceiver extends BroadcastReceiver {
private final String TAG = "MyBroadcastReceiver";
@Override
public void onReceive(Context context, Intent intent) {
Log.v(TAG, context+"");
Intent i = new Intent(context, NofyService.class);
i.addCategory(Intent.CATEGORY_DEFAULT);
//context.startService(i);
Log.v(TAG, context.startService(intent)+"");
Log.v(TAG, "Receiv");
}
}
NofyService.java
public class NofyService extends Service {
private final String TAG = "NofyService";
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
Log.v(TAG, "onCreate");
super.onCreate();
}
@Override
public void onStart(Intent intent, int startId) {
super.onStart(intent, startId);
Log.v(TAG, "onstart");
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return START_STICKY;
}
}
AndroidManifest.xml
解决方案1:你这显示调用,为什么还要addCategory?
以上介绍了“ 安卓广播启动Service失败的问题”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/wd/4185098.html