我想制作一个应用程序,一旦应用程序启动,它将显示两个按钮(开始和停止按钮),一旦用户单击开始按钮,调用功能将被阻止一段时间,直到用户再次启动应用程序并单击停止按钮以停止此功能。任何帮助请紧急
简而言之,我会告诉我,我只想使用此 Activity 来阻止从我的手机拨出的电话
请问有什么办法吗???
最佳答案
您可以使用 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();
}
}
在manifest文件中,需要这样注册receiver,
<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" />
编辑- 要取消注册广播接收器,请遵循此 link
关于android - 阻止来 self 的 android 应用程序的外出调用。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13319753/