java - java - 如何保持while循环直到电话响起java
问题描述
我是 Android 开发的新手,我试图留在 while 循环中直到电话响起,但我不知道为什么即使在呼叫被接听、拒绝或错过之后,这个循环也会无限次运行。没有while循环可以正常工作。代码
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
公共类环扩展广播接收器{
@RequiresApi(api = Build.VERSION_CODES.M)
@Override
public void onReceive(Context context, Intent intent) {
try {
while (intent.getStringExtra(TelephonyManager.EXTRA_STATE).equals(TelephonyManager.EXTRA_STATE_RINGING)) {
Log.d("Ring1", "Ring");
Toast.makeText(context, "Ringing ", Toast.LENGTH_SHORT).show();
if (intent.getStringExtra(TelephonyManager.EXTRA_STATE).equals(TelephonyManager.EXTRA_STATE_OFFHOOK)) {
break;
}
if (intent.getStringExtra(TelephonyManager.EXTRA_STATE).equals(TelephonyManager.EXTRA_STATE_IDLE)) {
break;
}
}
}catch (Exception E)
{
Log.d("exp","Error "+E.getMessage());
}
}
}
解决方案
推荐阅读
- javascript - Selenium:通过 Javascript 抓取所有元素属性返回不正确的结果
- linux - Ansible sudo 默认提示
- docker - 从可移动媒体运行 Docker 容器
- c++ - 从 C++ 中的函数返回对象:它的过程和性质
- javascript - 生产错误中的节点集群
- c# - DynamicData显示多条折线图
- javascript - 当列标题卡在页面顶部时如何对齐它们
- electron - 创建 Windows 95、98、2000、XP NT、7、10
- r - 减去两个包含 NA 的数据帧,在相等的地方得到零
- postgresql - sequelize postgres 将 fn 'date' 与 jsonb 值结合起来