gpt4 book ai didi

android - 如何以编程方式断开android 4.1.2 nexus中的调用

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

我能够以编程方式断开 android 2.2 中未知号码来电的调用。但在 android 4.1 中,它不起作用。

在 android 2.2 中断开通话的工作代码:

private Class c;    
private Method m;
private com.android.internal.telephony.ITelephony telephonyService;
public void onReceive(Context context, Intent intent)
{
Bundle b = intent.getExtras();
String state = b.getString(TelephonyManager.EXTRA_STATE);
if(state.equalsIgnoreCase(TelephonyManager.EXTRA_STATE_RINGING))
{
TelephonyManager tm = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
c = Class.forName(tm.getClass().getName());
m = c.getDeclaredMethod("getITelephony");
m.setAccessible(true);
telephonyService = (ITelephony) m.invoke(tm);
telephonyService.silenceRinger();
telephonyService.endCall();
}
}

请帮助我。提前致谢

终于找到了2.6版本的解决方案。

MODIFY_PHONE_STATE 权限自 2.3+ 起不再对 silenceRinger() 有效,但 endCall 没问题。所以解决方案是注释掉对 silenceRinger() 的调用。

最佳答案

自 2.3+ 以来,MODIFY_PHONE_STATE 不再对 silenceRinger() 起作用,但 endCall 很好。

所以解决方案是注释掉对 silenceRinger() 的调用。

还有一个简单的例子:

 http://androidbridge.blogspot.ro/2011/05/how-to-answer-incoming-call-in-android.html

干杯

关于android - 如何以编程方式断开android 4.1.2 nexus中的调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13230512/

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