1
Android 2.2.1で基本的なAIDLサービスを開発しようとしています。すべてがビルドしてokをインストールするようですが、bindService()はそうではありません。私のServiceConnectionクラスは呼び出されません。私は本当に理由が分からないので、どんな助けもありがたいです。Android:bindServiceはリモート(AIDL)サービスに接続しません。理由はわかりません
public class go extends Activity {
protected static final String TAG = "HOSPlayerClient";
private IHOSPlayerService hosPlayerService = null;
private ServiceConnection serviceConnection = new ServiceConnection() {
public void onServiceConnected(ComponentName name, IBinder service) {
Log.v(TAG, "onServiceConnection");
hosPlayerService = IHOSPlayerService.Stub.asInterface(service);
callService();
}
public void onServiceDisconnected(ComponentName name) {
Log.v(TAG, "onServiceDisconnected");
}
};
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Log.v(TAG, IHOSPlayerService.class.getName());
boolean bound = bindService(
new Intent(IHOSPlayerService.class.getName()),
serviceConnection, Context.BIND_AUTO_CREATE);
Log.v(TAG, bound ? "service bound" : "service bind failed");
}
private void callService() {
try {
hosPlayerService.go();
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
...と、ここでは、私は私のAIDLサービスの関連する部分であると信じるものです::ここに私のクライアントアクティビティがある
public class HOSPlayerService extends Service
{
private static final String TAG = "HOSPlayerService";
public class HOSPlayerServiceImpl extends IHOSPlayerService.Stub
{
public void go() throws RemoteException
{
Log.v(TAG, "go called");
}
}
@Override
public IBinder onBind(Intent intent)
{
// TODO Auto-generated method stub
return new HOSPlayerServiceImpl();
}
}
...とAIDLファイル:
package com.HOS.ahos.HOSPlayerService;
interface IHOSPlayerService
{
void go();
}
'adb logcat'、DDMS、またはDDMSパースペクティブをEclipseで使用してLogCatを調べ、' bindService() '呼び出しの前後に警告があるかどうかを確認します。最も可能性の高い警告、IMHOは、Androidがサービスを見つけることができないということです。あなたのマニフェストにそれがないか、 ''が 'bindService()'に渡された 'Intent 'と一致しないかもしれません。 –
CommonsWare
パッケージ名とファイル名は2つのアプリケーションで同じですか? – johann