开发中,写了两个应用A、B:
在A中启动了一个MyService,在B中想绑定A的MyService,写法如下:
Intent intent = new Intent();
intent.setPackage("com.test.MyService");
intent.setAction("myaction");
bindService(intent, mServiceConn, Context.BIND_AUTO_CREATE);
在华为、小米手机上可正常绑定,但是在魅族手机上无法绑定,经过google和测试,最佳写法如下:
Intent intent= new Intent();
ComponentName componentName= new ComponentName( "com.test", "com.test.MyService" );
intent.setComponent( componentName );
intent.setAction( "myaction" );
bindService( intent, mServiceConn, Context.BIND_AUTO_CREATE);
这么写,就解决问题了。
希望本文能够帮到你。
如果有同学不清楚ComponentName的,推荐看看这篇文章: