通过ip拨号器来了解广播接收者

1、继承广播接收者类

 1 package com.example.ipdail;
 2 
 3 import android.content.BroadcastReceiver;
 4 import android.content.Context;
 5 import android.content.Intent;
 6 import android.content.SharedPreferences;
 7 
 8 public class OutCallReceiver extends BroadcastReceiver {
 9 
10     @Override
11     public void onReceive(Context context, Intent intent) {
12         // TODO Auto-generated method stub
13         //获取拨打的号码
14         String number = getResultData();
15         //获取config数据里面的数据
16         SharedPreferences sp = context.getSharedPreferences("config", context.MODE_PRIVATE);
17         String ipnumber = sp.getString("ipnumber", "");
18         
19         //修改号码并返回
20         String newNumber = ipnumber + number;
21         setResultData(newNumber);
22     }
23     
24 
25 }

2、在清单文件配置广播接收者(因为属于四大组件之一),并通过action来表名要监听的频道

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

3、由于要监听外拨电话,所以要加一个权限

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

 

4、其他java代码

 1 package com.example.ipdail;
 2 
 3 import android.os.Bundle;
 4 import android.app.Activity;
 5 import android.content.SharedPreferences;
 6 import android.content.SharedPreferences.Editor;
 7 import android.view.Menu;
 8 import android.view.View;
 9 import android.widget.EditText;
10 
11 public class MainActivity extends Activity {
12 
13     private EditText et_ipnumber;
14     
15     private SharedPreferences sp;
16     @Override
17     protected void onCreate(Bundle savedInstanceState) {
18         super.onCreate(savedInstanceState);
19         setContentView(R.layout.activity_main);
20         et_ipnumber = (EditText)findViewById(R.id.et_ipnumber);
21         sp = getSharedPreferences("config", MODE_PRIVATE);
22         et_ipnumber.setText(sp.getString("ipnumber", ""));
23     }
24     
25     public void click(View view){
26         String ipnumber = et_ipnumber.getText().toString().trim();
27         
28         Editor editor = sp.edit();
29         editor.putString("ipnumber", ipnumber);
30         editor.commit();
31     }
32 }

 

转载于:https://www.cnblogs.com/zhongyinghe/p/5313256.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值