アプリケーションがバックグラウンドにあるときにトーンを再生しようとしています。そのために「カメラ」ボタンを押すと、この簡単な手順を実行します。
BroadcastReceiver
クラスの作成public class CameraButtonListener extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { ToneGenerator tone = new ToneGenerator(AudioManager.STREAM_DTMF, 100); tone.startTone(0,2000); abortBroadcast(); } }
methodeに登録
BrodcastReceiver
します。onCreate
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); MediaButtonBrodcastReceiver receiver = new MediaButtonBrodcastReceiver(); IntentFilter filter = new IntentFilter(Intent.ACTION_CAMERA_BUTTON); filter.setPriority(25645895); registerReceiver(receiver,filter); }
アンドロイドマニフェストにブロドキャストレシーバーを追加します。
<receiver android:enabled="true" android:exported="true" android:name=".CameraButtonListener"> <intent-filter android:priority="25645895"> <action android:name="android.intent.action.CAMERA_BUTTON" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter>
アプリケーションを起動した後、メニューボタンを押すとアプリケーションがバックグラウンドに移動します。カメラボタンを押しても何も起こらないと、カメラアプリケーションのみが開きます。多分私は何か間違ったことをしているのか、何かを逃したのですか?
私はAndroid2.3.4OSバージョンでSonyEricssonXPeriaArc電話を使用しています。