当我的应用程序在后台时,我试图播放一些音调,我按下“相机”按钮,因为我正在执行这个简单的步骤。
创建
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(); } }
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); }
将广播接收器添加到 android 清单。
<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>
启动应用程序后,按菜单按钮,应用程序进入后台,按相机按钮后没有任何反应,仅打开相机应用程序。也许我做错了什么或者我错过了什么?
我使用的是 Android 2.3.4 操作系统版本的索尼爱立信 XPeria Arc 手机。