我想提供可以被其他應用程序調用的服務。因此,我有一個服務和一個援助。但是,當我嘗試有一個單獨的應用程序來綁定此服務(bindService)時,它只是返回false,這意味着失敗。這是我的代碼。bindService with aidl返回false
PS:上下文已經它通過調用getApplicationContext()
碼獲得,嘗試服務
private static ServiceConnection connection = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
sService = XXXService.Stub.asInterface(service);
}
@Override
public void onServiceDisconnected(ComponentName name) {
sService = null;
}
};
private static synchronized XXXService getService(final Context context) {
if (sService != null) {
return sService;
} else {
intent.setClassName(context.getPackageName(), "com.xxx.someservice");
if (context.bindService(intent, connection, Context.BIND_AUTO_CREATE)) {
Log.i(TAG, "can bind");
} else {
Log.i(TAG, "can not bind");
}
return sService;
}
}
AndroidManifest
<service android:name="com.xxx.someservice"
android:process=":main"
android:exported="true"/>
它的工作原理,感謝 – Bear 2012-07-28 05:15:57