すでに次の質問を参照しましたが、答えが見つかりませんでした。
- サービス オブジェクトを取得できません (onServiceConnected が呼び出されませんでした)、
- onServiceConnected が呼び出されない、null ポインター例外が発生する、および
- bindService メソッドの後に onServiceConnected が呼び出されない
これが私のコードです:
@Override
public void onStart() {
super.onStart();
Context context = getApplicationContext();
Intent intent = new Intent(context, PodService.class);
context.bindService(intent, mPodServiceConn, Context.BIND_AUTO_CREATE);
}
private ServiceConnection mPodServiceConn = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName className, IBinder service) {
Log.e(TAG, "Pod: Service Connected");
mPodService = IPodService.Stub.asInterface(service); //here i am getting NullPointerException
}
}
私のサービスクラスには何も含まれていません。これだけです。以下に示します
public class PodService extends Service {
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
Log.d("bound", "bound");
return null;
}
static class PodSeviceStub extends IPodService.Stub {
//here i implemented unimplemented methods
}
}
しかし、bound
lollcat では、onBind() 関数から " " メッセージのみを取得していますが、" " を印刷していません。これPod: Service Connected
は、サービスが正常に開始されたことを意味します。そしてlollcatNullPointerException
では、マニフェストファイルにも記載されています。