BroadcastReceive之ip拨号

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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():是用来得到当前输入的手机号码的

以上是关于BroadcastReceive之ip拨号的主要内容,如果未能解决你的问题,请参考以下文章

Android开发常用代码片段

BroadcastReceive的使用

杂记之--苹果4s手机呼叫转移怎么设置

请问ROS只允许PPPOE拨号上网,不能填IP上网,怎么设置?

Android TalkBack 和片段堆栈

路由器宽带连接方式怎么设置 例如拨号上网能不能设置成自动获取ip?