2

アプリケーションが起動すると、2 つのボタン (開始ボタンと停止ボタン) が表示され、ユーザーが開始ボタンをクリックすると、ユーザーがアプリケーションを再度開始するまでの間、呼び出し機能がブロックされるアプリケーションを作成したいと考えています。この機能を停止するには、停止ボタンをクリックします。緊急の助けをください

つまり、このアクティビティのみを使用して、電話からの発信をブロックしたいと伝えます

そうする方法はありますか?

4

2 に答える 2

9

ブロードキャスト レシーバの 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();

    }
}

マニフェスト ファイルでは、次のようにレシーバーを登録する必要があります。

<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>

また、発信コールを傍受する許可を定義し、

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

編集 - 放送受信機の登録を解除するには、このリンクに従ってください

于 2012-11-10T07:16:14.743 に答える