少なくともAndroid 2.2.2以降、このメソッドは機能します。
私のウィジェット用のサービスを作成しました。このサービスのonCreateは、com.android.music.IMediaPlaybackServiceにバインドされます。
に応じて「コマンド」フラグのため、このサービスチェックのONSTARTし、キーは、例えば、各コマンドの後に接続をクリアした、プライベートServiceConnection介して結合されたサービスの適切な方法を実行します:
private ServiceConnection mConnection = new ServiceConnection(){
public void onServiceConnected(ComponentName className,
IBinder service) {
mService = IMediaPlaybackService.Stub.asInterface(service);
//Toast.makeText(getApplicationContext(), "!!!", Toast.LENGTH_SHORT).show();
try {
if (mService.isPlaying()) {
mService.pause();
} else {
mService.play();
}
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(e);
}
unbindService(mConnection);
}
@Override
public void onServiceDisconnected(ComponentName name) {
// TODO Auto-generated method stub
mService = null;
}
};
この残念です。私はFroYoを持っています。一見すると、Last.FMは私がやろうとしていることをしているように見えますが、これらのアプリケーションのすべてがそうではないと言っていますか?AOSPとオープンソースのLast.FMアプリケーションから音楽アプリケーションのソースを探しています。ジンジャーブレッドとそれ以降の仕事? – aperture
@aperture:ソースによると、そのサービスは約10ヶ月前にエクスポートされていないとフラグされています。私は、GingerbreadとHoneycombに変更が加えられたのかどうかはわかりませんが、おそらくそうです。 – CommonsWare
ジンジャーブレッドのソースはしばらく外に出ました。 –