アプリケーションが起動すると、2 つのボタン (開始ボタンと停止ボタン) が表示され、ユーザーが開始ボタンをクリックすると、ユーザーがアプリケーションを再度開始するまでの間、呼び出し機能がブロックされるアプリケーションを作成したいと考えています。この機能を停止するには、停止ボタンをクリックします。緊急の助けをください
つまり、このアクティビティのみを使用して、電話からの発信をブロックしたいと伝えます
そうする方法はありますか?
アプリケーションが起動すると、2 つのボタン (開始ボタンと停止ボタン) が表示され、ユーザーが開始ボタンをクリックすると、ユーザーがアプリケーションを再度開始するまでの間、呼び出し機能がブロックされるアプリケーションを作成したいと考えています。この機能を停止するには、停止ボタンをクリックします。緊急の助けをください
つまり、このアクティビティのみを使用して、電話からの発信をブロックしたいと伝えます
そうする方法はありますか?
ブロードキャスト レシーバの 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" />
編集 - 放送受信機の登録を解除するには、このリンクに従ってください