아래와 같이 서비스를 만들었습니다.
public class LoginService extends Service{
private final IRemoteService.Stub mBinder = new IRemoteService.Stub() {
@Override
public void setLoginInfo(String a_id, String a_mcode) throws RemoteException {
}
@Override
public String getLoginId() throws RemoteException {
return null;
}
@Override
public String getLoginMcode() throws RemoteException {
return null;
}
};
@Override
public IBinder onBind(Intent intent) {
return mBinder;
}
@Override
public void onCreate() {
super.onCreate();
}
@Override
public void onDestroy() {
super.onDestroy();
}
}
그리고 activity에서는 아래와 같이 호출을 합니다.
private void initConnection(){
mServiceConnection = new ServiceConnection() {
@Override
public void onServiceDisconnected(ComponentName name) {
mService = null;
Log.d("ddddddddd", "onServiceDisconnected=========");
}
@Override
public void onServiceConnected(ComponentName name, IBinder service){
mService = IRemoteService.Stub.asInterface((IBinder) service);
Log.d("ddddddddd", "onServiceConnected=========");
}
};
if(mService == null){
startServiceBind();
// startService(new Intent(this, LoginService.class));
// boolean b = bindService(new Intent(this, LoginService.class), mServiceConnection, Service.BIND_AUTO_CREATE);
// Log.d(TAG, "bindservice : "+ b);
}
}
private void startServiceBind(){
Intent i = new Intent(this, LoginService.class);
startService(i);
boolean b = bindService(i, mServiceConnection, Context.BIND_AUTO_CREATE);
Log.d(TAG, "bindservice : "+ b);
}
매니페스트 파일에는 아래와 같습니다.
<service android:name="com.common.LoginService"
android:enabled="true">
<intent-filter >
<action android:name="intent.LoginService"/>
</intent-filter>
</service>
위와 같은 경우에서
서비스를 bind 하면 항상 false가 떨어집니다.
하루종일 구글링 및 자료를 찾아서 해봐도 딱히 해결이 안돼더군요..
혹시 어디가 잘 못 되었는지 아시는 분 계시면 흰트 좀 부탁드립니다.