BroadcastReceive之ip拨号

首先,新建一个类,继承于BroadcastReceive,然后去配置Manifest.xml

1 <receiver android:name=".PhoneOnReceice">
2             <intent-filter>
3                 <action android:name="android.intent.action.NEW_OUTGOING_CALL"/>
4             </intent-filter>
5         </receiver>

然后加上android.permission.PROCESS_OUTGOING_CALLS权限(一定要记得加,不要加错了)

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

接下来写业务逻辑就行了,那就简单了

首先是MainActicity:

 1 public class MainActivity extends Activity implements View.OnClickListener {
 2 
 3     EditText et;
 4     @Override
 5     protected void onCreate(Bundle savedInstanceState) {
 6         super.onCreate(savedInstanceState);
 7         setContentView(R.layout.activity_main);
 8 
 9         Button btn = (Button)findViewById(R.id.btn);
10         et = (EditText) findViewById(R.id.et);
11         btn.setOnClickListener(this);
12     }
13 
14     @Override
15     public void onClick(View view) {
16         String str = et.getText().toString().trim();
17         SharedPreferences sp= getSharedPreferences("config",0);
18         sp.edit().putString("ipnumber",str).commit(); //一定记得提交
19         Toast.makeText(this,"ip设置成功",Toast.LENGTH_SHORT).show();
20     }
21 }

然后就是我们刚新建的那个类了

 1 public class PhoneOnReceice extends BroadcastReceiver {
 2     @Override
 3     public void onReceive(Context context, Intent intent) {
 4         SharedPreferences sp = context.getSharedPreferences("config",0);
 5         String ip = sp.getString("ipnumber","");
 6         String currentNumber = getResultData();//获取当前要拨打的电话号码
 7         System.out.println("广播调用成功");
 8         if (currentNumber.startsWith("0")){
 9             System.out.print("进入if中");
10             setResultData(ip+currentNumber);
11         }
12     }
13 }

当Mainfest.xml中的action执行的时候,就会执行BroadcastReceiver子类PhoneOnReceive中的onReceice方法。

注意其中的getResultData():是用来得到当前输入的手机号码的

转载于:https://www.cnblogs.com/Godfunc/p/6017969.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值