gpt4 book ai didi

java - BroadcastReceiver 未收到相机按钮上的按键

转载 作者:行者123 更新时间:2023-12-01 15:03:56 30 4
gpt4 key购买 nike

当我的应用程序处于后台时,我尝试播放一些音调,并按下“相机”按钮,因为我正在执行此简单的步骤。

  1. 创建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();
    }
    }
  2. onCreate方法中注册BrodcastReceiver

    @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);
    }
  3. 将广播接收器添加到 Android list 中。

    <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>

启动应用程序后,按菜单按钮,应用程序转到后台,按相机按钮后没有任何反应,仅打开相机应用程序。也许我做错了什么或者我错过了什么?

我使用的是索尼爱立信 XPeria Arc 手机,操作系统版本为 Android 2.3.4。

最佳答案

摆脱<category>您的 <receiver> 中的元素元素,如果您使用的是步骤 #3。该广播可能没有类别 - 您通常只能在 Intent 上看到类别。用于 startActivity() 的对象.

请注意,您的步骤 #2 并未指定 IntentFilter 的类别。 ,这很好。

关于java - BroadcastReceiver 未收到相机按钮上的按键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13238645/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com