Service Intent must be explicit 原因和解决方法

来源:互联网 发布:广电网络是国企吗 编辑:程序博客网 时间:2024/05/29 16:39

在android 5.0系统以上,我们知道启动service时需要显示声明

        Intent intent = new Intent(this, CoreService.class);        startService(intent);
        Intent intent = new Intent(this, CoreService.class);        stopService(intent);
        Intent intent = new Intent(context, CoreService.class);        context.bindService(intent, mConn, Context.BIND_AUTO_CREATE);
这几种方式在 5.0以上的系统都是会报异常的,究其根本,在于启动的方式不是显示声明:

        Intent intent = new Intent(this, CoreService.class);        intent.setPackage(this.getPackageName());        startService(intent);
        Intent intent = new Intent(this, CoreService.class);        intent.setPackage(this.getPackageName());        stopService(intent);
        Intent intent = new Intent(context, CoreService.class);        intent.setAction("com.rltx.phb.core");        context.bindService(intent, mConn, Context.BIND_AUTO_CREATE);






0 0