gpt4 book ai didi

android - 无法从 PhoneStateListener::onCallStateChanged 获取非空字符串

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:18:44 24 4
gpt4 key购买 nike

来源:

listener = new PhoneStateListener()
{
@Override
public void onCallStateChanged(int state, String incomingNumber) {
super.onCallStateChanged(state, incomingNumber);
Toast toast = Toast.makeText(getApplicationContext(), incomingNumber, Toast.LENGTH_LONG);
toast.show();
}

};

((TelephonyManager)getSystemService(TELEPHONY_SERVICE)).listen(listener , PhoneStateListener.LISTEN_CALL_STATE )

你好,
我正在使用此代码,在 android.permission.READ_PHONE_STATE 权限下,获取 toast 消息,包括开始调用的次数。我的问题是 incomingNumber 是空的,无论是呼出还是呼入都没有关系,toast 出现,但是是空的。
我已经看到了一些解决方案,但解决方案是以完全不同的方式获取数字,我想知道我的代码是否可以满足我的需求。
感谢您的建议,
亚当

最佳答案

请在您的申请中包含许可。

<uses-permission android:name="android.permission.READ_PHONE_STATE" />


if(state == TelephonyManager.CALL_STATE_RINGING){
Toast toast = Toast.makeText(getApplicationContext(), incomingNumber, Toast.LENGTH_LONG);
toast.show();
}

CALL_STATE_OFFHOOK 如果是第一次调用则返回 null。所以你应该使用CALL_STATE_RINGING

希望对您有所帮助。

关于android - 无法从 PhoneStateListener::onCallStateChanged 获取非空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4412224/

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