有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java广播接收器使用振铃器模式改变

我正在尝试更新并将更改后的铃声模式记录到文本视图中。谢谢你的帮助

这是我的接收者清单:(不需要我所发现的权限)

    <receiver 安卓:name="RingTypeMainActivity$RingTypeBroadcastReceiver" >
        <intent-filter>
            <action 安卓:name="安卓.media.RINGER_MODE_CHANGED" >
            </action>
        </intent-filter>
    </receiver>

我在我的活动中使用广播接收器:当我运行应用程序时,没有任何内容附加到textview(txtResults)

public static class RingTypeBroadcastReceiver extends BroadcastReceiver{


    @Override
    public void onReceive(Context context, Intent intent) {

        int num = intent.getIntExtra(AudioManager.EXTRA_RINGER_MODE, -1);

        switch (num) {
        case 0:
            txtResults.append("Mode " +  String.valueOf(num) + " - Normal audio mode: not ringing and no call established.");
            break;

        case 1:
            txtResults.append("Mode " +  String.valueOf(num) + " - Ringing audio mode. An incoming is being signaled.");
            break;

        case 2:
            txtResults.append("Mode " +  String.valueOf(num) + " - In call audio mode. A telephony call is established.");
            break;

        case 3:
            txtResults.append("Mode " +  String.valueOf(num) + " - In communication audio mode. An audio/video chat or VoIP call is established.");
            break;

        default:
            break;
        }

共 (1) 个答案

  1. # 1 楼答案

    您的清单文件中未正确声明收件人姓名

    更改这行代码

    <receiver android:name="RingTypeMainActivity$RingTypeBroadcastReceiver" >
    

    对这个

    <receiver android:name=".RingTypeMainActivity$RingTypeBroadcastReceiver" >
    

    添加一个点(.)之前,收件人名称是您的包裹名称的缩写