CJ_Finger 2016-12-30 01:27 采纳率: 100%
浏览 2183
已采纳

安卓广播启动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

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.cj_finger.dyfin">

    <permission android:protectionLevel="normal" android:name=".service.NofyService"></permission>

    <!-- 权限 -->
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <!-- 首页 -->
        <activity android:name=".activity.MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <!-- 新建日程表 -->
        <activity android:name=".activity.NewActivity">
        </activity>
        <!-- 编辑日程表 -->
        <activity android:name=".activity.EditActivity">
        </activity>

        <!-- 接收广播 -->
        <receiver android:name=".broadcastReceiver.MyBroadcastReceiver">
            <intent-filter>
                <action android:name="android.intent.action.MY_BROADCAST"/>
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </receiver>

        <!-- 服务 -->
        <service
            android:permission=".service.NofyService"
            android:enabled="true"
            android:name=".service.NofyService"
            android:process="com.cj_finger.dyfinService" >
            <intent-filter>
                <action android:name=".service.NofyService"/>
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </service>

    </application>

</manifest>

  • 写回答

3条回答 默认 最新

  • sunnyxibei 2016-12-30 01:36
    关注

    你这显示调用,为什么还要addCategory?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!