今天,在这里和大家分享一下,如何通过广播来实现对于外播电话的监听,我们就做一个利用广播统计和某人通话次数的软件。
一、效果图:
二、基本实现
1、在UI中定义一个TextView用于显示数据
<TextView
android:id="@+id/mTextView"
android:textSize="@dimen/medium_text_size"
android:textColor="#000000"
android:textStyle="bold"
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
2、创建一个java类继承自BroadcastReceiver(广播接收者),并重写其onReceive方法,广播的相关操作就是在这个方法里面做的。
public void onReceive(Context context, Intent intent) {
String phonenumber = getResultData();//获取电话号码
if (phonenumber.equals("*******")){ //()里输入需要统计的电话号码
MainActivity.sum++; //统计通话次数 ,sum变量需在MainActivity中定义
Log.d(TAG, "phonenumber===: "+MainActivity.sum);
}
}
3、实现显示数据的操作
public static int sum;
private TextView mTextView;
private static final String TAG = "MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();//初始化View
}
/**
* 重写onStart()方法,这样在再次进入活动时数据仍然有效
*/
@Override
protected void onStart() {
super.onStart();
mTextView.setText("已经和她通话:"+sum+"次");
}
/**
* 初始化View
*/
private void initView() {
mTextView=this.findViewById(R.id.mTextView);
mTextView.setText("已经和她通话:"+sum+"次");
}
好啦,就简单的分享这些了,能力有限,希望能帮到其他人。