Android-拨打电话自动添加IP地址(BroadcastReceiver)
来源:互联网 发布:mysql server安装失败 编辑:程序博客网 时间:2024/04/30 13:01
拨打电话自动添加IP地址
第一步:
添加权限:
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>
第二步:
注册receiver
<receiver android:name=".CallReceiver">
<intent-filter >
<action android:name="android.intent.action.NEW_OUTGOING_CALL"/>
</intent-filter>
</receiver>
第三步:
将IP地址存入SharedPreferences
SharedPreferences sp = getSharedPreferences("ip", MODE_PRIVATE);
sp.edit().putString("ipNumber", et.getText().toString()).commit();
第四步:
获取拨打的电话号码,从SharedPreferences 中取出IP地址加的电话号码前
SharedPreferences sp = context.getSharedPreferences("ip", Context.MODE_PRIVATE);
String ipNumber = sp.getString("ipNumber", "");
//把IP线路号码添加至用户拨打号码的前面
number = ipNumber + number;
//把新的号码重新放入广播中
setResultData(number);
//拦截广播
abortBroadcast();
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.itheima.ipdialer" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" /> <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.itheima.ipdialer.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <receiver android:name=".CallReceiver"> <intent-filter > <action android:name="android.intent.action.NEW_OUTGOING_CALL"/> </intent-filter> </receiver> </application></manifest>
MainActivity.java
package com.itheima.ipdialer;import android.os.Bundle;import android.app.Activity;import android.content.SharedPreferences;import android.view.Menu;import android.view.View;import android.widget.EditText;public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void click(View v){ EditText et = (EditText) findViewById(R.id.et); SharedPreferences sp = getSharedPreferences("ip", MODE_PRIVATE); sp.edit().putString("ipNumber", et.getText().toString()).commit(); } }
CallReceiver.java
package com.itheima.ipdialer;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.content.SharedPreferences;public class CallReceiver extends BroadcastReceiver {//接收到广播时就会调用@Overridepublic void onReceive(Context context, Intent intent) {//添加IP线路//在打电话广播中,会携带拨打的电话的号码,通过以下代码获取到String number = getResultData();if(number.startsWith("0")){SharedPreferences sp = context.getSharedPreferences("ip", Context.MODE_PRIVATE);String ipNumber = sp.getString("ipNumber", "");//把IP线路号码添加至用户拨打号码的前面number = ipNumber + number;//把新的号码重新放入广播中setResultData(number);//拦截广播abortBroadcast();}}}
- Android-拨打电话自动添加IP地址(BroadcastReceiver)
- android自动拨打电话
- Android 自动拨打电话
- Android 如何自动拨号+拨打电话
- android实现拨打电话
- android拨打电话
- android学习---拨打电话
- android项目--拨打电话
- android 拨打电话
- android拨打电话
- android拨打电话权限
- Android 拨打电话事例
- android 拨打电话
- Android 拨打电话
- android-拨打电话应用
- android实现拨打电话
- android实现拨打电话
- android拨打电话
- HDU 4709 Herding
- oc基础知识(一)
- sphinx 配置文件全解析 参数说明
- 再读《C和指针》(笔记4)
- HDU 5387 Clock
- Android-拨打电话自动添加IP地址(BroadcastReceiver)
- POJ1850——Code
- 02 java.lang.Integer
- MongoDB(一)
- 【POJ 2635】 The Embarrassed Cryptographer
- iOS项目的目录结构
- 2016 360笔试题------找镇长
- Introduction to Java Programming编程题6.6<判别素数高效版>
- 报表制作一 基于jquery.flot.js制作一个动态报表