他のアプリから呼び出せるサービスを提供したい。したがって、私はサービスと援助を持っています。しかし、このサービス (bindService) をバインドする別のアプリケーションを作成しようとすると、失敗を意味する false が返されます。これが私のコードです。
PS: context は既に getApplicationContext() を呼び出して取得した ApplicationContext です。
サービスをバインドしようとするコード
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;
}
}
Androidマニフェスト
<service android:name="com.xxx.someservice"
android:process=":main"
android:exported="true"/>