Android 如何在固定秒后中止传出呼叫?
我正在开发android应用程序,它可以在其他手机上拨打特定持续时间的未接电话,如5秒、10秒。一旦通过程序拨打特定号码,我就会被击中。我的程序失去控制,在拨打电话后的固定秒数后,我如何结束通话,通用SDK只允许发起呼叫,不允许堕胎 我是android新手,在网上对此做了深入的搜索,一些人提到使用JAVA反射和内部电话技术,但我没能做到,尽管我在Symbian s-60平台上做到了这一点 有什么建议吗Android 如何在固定秒后中止传出呼叫?,android,telephony,telephonymanager,Android,Telephony,Telephonymanager,我正在开发android应用程序,它可以在其他手机上拨打特定持续时间的未接电话,如5秒、10秒。一旦通过程序拨打特定号码,我就会被击中。我的程序失去控制,在拨打电话后的固定秒数后,我如何结束通话,通用SDK只允许发起呼叫,不允许堕胎 我是android新手,在网上对此做了深入的搜索,一些人提到使用JAVA反射和内部电话技术,但我没能做到,尽管我在Symbian s-60平台上做到了这一点 有什么建议吗 import android.content.BroadcastReceiver;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
import android.widget.Toast;
public class OutgoingCallReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals(Intent.NEW_OUTGOING_CALL))
{
abortBroadcast ();
}
}
}
需要
<uses-permission android:name="android.permission.CALL_PHONE"/>
使用
telephony.aidl
接口它由名为endCall()
的方法组成,该方法用于终止正在进行的呼叫
当您的呼叫处于振铃
状态或处于摘机
状态时,宽频广播接收器的onReceive()方法启动计时器
在该计时器中使用endCall()方法
如果您需要我提供更多信息,请告诉我我已经编写了以下代码,但它不起作用,调用未中止[link](),请帮助他们您正在实现什么?不能使用startActivity调用广播接收器。只需参考一些关于如何引发接收器动作的示例。您需要使用sendBroadCast()发送接收器操作。很抱歉,前面做了一些错误的操作,现在我已经阅读了广播接收器实现的基本代码,其中也打印了传出号码。它正在准确地执行此操作,但调用没有中止,代码在这里@dependersingla我已经阅读了您的代码。BroadCastReceiver类将响应所有操作。所以它可能会打印你的日志。请在if循环中的abortBroadcast()之前添加您的电话号码日志打印代码。如果它打印出来,那就很奇怪了。如果未打印,则在AndroidManifest.xml中的receiver标记中添加receiver操作。希望这对你有用。它也在循环内部打印代码,我尝试了使用internaltelephony的不同方法,即使不起作用,你能试试[链接]()