gpt4 book ai didi

java - 使用 RINGER_MODE_CHANGED 的广播接收器

转载 作者:行者123 更新时间:2023-12-01 11:54:48 25 4
gpt4 key购买 nike

我正在尝试更新振铃器的更改模式并将其记录到 TextView 中。感谢您的帮助!

这是我的接收者 list :(我发现不需要任何权限)

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

我在 Activity 中使用广播接收器,如下所示:当我运行应用程序时,没有任何内容被附加到 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;
}

最佳答案

您的接收者名称未在 list 文件中正确声明。

更改这行代码

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

到此

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

在接收者名称前添加一个点 (.) 是您的包裹名称的缩写。

关于java - 使用 RINGER_MODE_CHANGED 的广播接收器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28530184/

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