gpt4 book ai didi

java - 电话管理器的 getvoicemessagecount api 无法访问

转载 作者:行者123 更新时间:2023-12-01 13:27:41 26 4
gpt4 key购买 nike

http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/1.6_r2/android/telephony/TelephonyManager.java

在上面的链接行中,第 623 行显示电话管理器具有 getvoicemessagecount api。但在我的程序中,当我尝试时无法访问。我检查了 android 网站,但那里没有显示任何此类 api。这个api是否存在?如果存在如何访问?

我基本上想获得语音邮件的数量。

最佳答案

/**
* Returns the voice mail count. Return 0 if unavailable.
* <p>
* Requires Permission:
* {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
* @hide
*/
public int getVoiceMessageCount() {
try {
return getITelephony().getVoiceMessageCount();
} catch (RemoteException ex) {
return 0;
} catch (NullPointerException ex) {
// This could happen before phone restarts due to crashing
return 0;
}
}

请参阅文档中的标签@hide。意味着它是一个隐藏的API。但您可以使用 Reflection API 访问它...

    TelephonyManager telephonyManager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
try {
Method method = telephonyManager.getClass().getDeclaredMethod("getVoiceMessageCount");
method.setAccessible(true);
Object object = method.invoke(telephonyManager);
int voiceMessageCount = (Integer) object;
} catch (Exception e) {
// handle Exception
}

关于java - 电话管理器的 getvoicemessagecount api 无法访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21727696/

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