首页 > 解决方案 > 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());
    }
}

}

标签: javaandroid

解决方案


推荐阅读