需求:输入ip号码并且保存在本地,监听打电话广播,如果电话号码以0开头,则加上ip区号拨打。

首先定义一个页面布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    tools:context=".MainActivity" >    <EditText        android:id="@+id/et_ipnumber"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:hint="请输入ip前缀号码" />    <Button        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:onClick="click"        android:text="保存" /></LinearLayout>

保存用户输入的号码:

package com.example.ipdial;import android.os.Bundle;import android.app.Activity;import android.content.SharedPreferences;import android.view.Menu;import android.view.View;import android.widget.EditText;import android.widget.Toast;public class MainActivity extends Activity {private EditText et_number;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);et_number = (EditText) findViewById(R.id.et_ipnumber);}public void click(View v) {String ipnumber = et_number.getText().toString().trim();// 完成保存SharedPreferences sp = getSharedPreferences("config", MODE_PRIVATE);sp.edit().putString("ipNumber", ipnumber).commit();Toast.makeText(this, "保存成功", 1).show();}}

定义广播接受者接收系统打电话广播。并且如果号码0开头,前加ip号码

package com.example.ipdial;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.content.SharedPreferences;public class OutGoingCallReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {SharedPreferences sp = context.getSharedPreferences("config", 0);String ipNumber = sp.getString("ipNumber", "");String resultData = getResultData();if (resultData.startsWith("0")) {setResultData(ipNumber + resultData);}}}
广播接受者清单文件配置:

<receiver android:name="com.example.ipdial.OutGoingCallReceiver">            <intent-filter >                <action android:name="android.intent.action.NEW_OUTGOING_CALL"/>            </intent-filter>        </receiver>

修改打电话的号码需要权限:

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

成功。


更多相关文章

  1. Android(安卓)intent.Action 参数值及对应功能介绍
  2. android-基础知识:实现简单的拨打电话功能_intent_study
  3. Android紧急号码列表修改
  4. Android(安卓)在Xml控件中对应的颜色透明度
  5. android 手机号码归属地查询
  6. Android中ExpandableListView的实现
  7. Android之旅---广播(BroadCast)
  8. 安卓之实现一个简单的短信发送功能
  9. Android(安卓)手机获取手机号实现方法

随机推荐

  1. android增删改查sqlite数据库
  2. Android(安卓)按键事件流程概要
  3. Android打开页面
  4. 怎么正确学好画五官?漫画人物鼻子画法教程
  5. vite+vue3项目最佳起始点(保姆级)
  6. PHP生成PDF
  7. Redis和MySQL如何保持数据一致性?
  8. DBMesh 项目 DBPack 的实践
  9. CRM管理系统源码|客户关系管理源码
  10. 零基础如何开始学素描?学素描的基础知识