阻止来自我的Android应用程序的外出呼叫.

sur*_*rya 2 android android-intent

我想创建一个应用程序,一旦应用程序启动,它将显示两个按钮(开始和停止按钮),一旦用户单击开始按钮,呼叫功能将被阻止一段时间,直到用户再次启动应用程序和单击停止按钮以停止此功能.任何帮助请紧急

总之,我会告诉我想通过仅使用此活动阻止来自我的手机的拨出电话

请问有没有办法这样做???

Sah*_* Mj 7

您可以使用Broaadcast接收器的onReceive方法中的setResultData(null)函数来阻止传出呼叫.

public class BlockOutgoing extends BroadcastReceiver
{
    String number;
    @Override
    public void onReceive(Context context, Intent intent) 
    {
        Log.d("12280", "asdasNumber is-->> " + number);
        number = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
        setResultData(null);
        Toast.makeText(context, "Outgoing Call Blocked" , 5000).show();

    }
}
Run Code Online (Sandbox Code Playgroud)

在清单文件中,您需要像这样注册接收器,

<receiver
            android:name=".BlockOutgoing"
            android:label="@string/app_name" >
            <intent-filter android:priority="1">

<action android:name="android.intent.action.NEW_OUTGOING_CALL" />

            </intent-filter>
        </receiver>
Run Code Online (Sandbox Code Playgroud)

同时定义拦截拨出呼叫的权限,

<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
Run Code Online (Sandbox Code Playgroud)

编辑 - 要取消注册广播接收器,请点击此链接