gpt4 book ai didi

android - BroadcastReceiver 没有收到 Intent

转载 作者:搜寻专家 更新时间:2023-11-01 07:41:20 26 4
gpt4 key购买 nike

所以现在我在 list 文件中声明了我的 BroastcastReceiver...

   <receiver android:name=".MyReceiver">
<intent-filter>
<action android:name="android.intent.action.CALL_BUTTON" />
</intent-filter>
</receiver>

我想在按下调用按钮时捕捉 Intent 。

这是我的代码...

 public class MyReceiver extends BroadcastReceiver {

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

Toast.makeText(context, "intent received", Toast.LENGTH_LONG);

if(intent.getAction().equals("android.intent.action.CALL_BUTTON")) {
Toast.makeText(context, "call button pressed", Toast.LENGTH_LONG);
}

}

}

但是,当我按下调用按钮时,我没有看到 toast 。我错过了什么吗?

这是使用这个问题的答案的延续......

How to use Intents from a Service or Broadcast Receiver?

最佳答案

简短的回答是你不能做你想做的事。

“ACTION_CALL_BUTTON” Action 是“Activity 开始 Action ”而不是“广播 Action ”。它可以在 startActivity 中使用的 Intent 中使用,以启动应响应按下调用按钮的 Activity。您想要的是在按下调用按钮时收到通知,而系统不会广播 Intent 来宣布这一点。

或者,您可以在 Activity 中包含相同的 intent-filter,以便在用户按下调用按钮时将其作为一个选项出现,供用户选择。

当用户按下调用按钮时,您希望做什么?

关于android - BroadcastReceiver 没有收到 Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1910339/

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