Android 电话状态监听
来源:互联网 发布:java里poi是什么 编辑:程序博客网 时间:2024/05/16 08:38
今天介绍一下Android电话状态的监听。监听Android电话状态需要用到PhoneStateListener。下面通过一个具体的实例来看看具体怎么实现的。
配置文件:
<uses-permission android:name="android.permission.CALL_PHONE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.pan.phonecalldemo.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> </application>布局文件:
<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:text="Call:130 6681 9390" /></RelativeLayout>代码:
public class MainActivity extends Activity {private ListenToPhoneState listener;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);findViewById(R.id.button1).setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {call();}});}private void call() {try {Intent callIntent = new Intent(Intent.ACTION_CALL);callIntent.setData(Uri.parse("tel:13723740766"));startActivity(callIntent);TelephonyManager tManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);listener = new ListenToPhoneState();tManager.listen(listener, PhoneStateListener.LISTEN_CALL_STATE);} catch (ActivityNotFoundException activityException) {Log.e("telephony-example", "Call failed", activityException);}}private class ListenToPhoneState extends PhoneStateListener {public void onCallStateChanged(int state, String incomingNumber) {Log.i("telephony-example", "State changed: " + stateName(state));}String stateName(int state) {switch (state) {case TelephonyManager.CALL_STATE_IDLE:return "Idle";case TelephonyManager.CALL_STATE_OFFHOOK:return "Off hook";case TelephonyManager.CALL_STATE_RINGING:return "Ringing";}return Integer.toString(state);}}}
0 0
- Android监听电话状态
- android 监听电话状态
- android 监听电话状态
- android 监听电话状态
- Android 电话状态监听
- 【Android】监听电话状态
- android电话状态监听
- android电话状态监听
- Android监听电话状态
- android 电话状态的监听
- android监听电话状态问题
- android监听电话状态问题
- android电话状态的监听
- android电话状态的监听
- Android 电话状态的监听
- android蓝牙电话监听状态
- android音乐播放器监听电话状态
- android音乐播放器监听电话状态
- android xmpp开发 asmack实现断线自动重连
- Builder Pattern
- hdu 1233 最小生成树Prim算法
- 第十二周 整整3个月
- javascript事件对象(event)
- Android 电话状态监听
- java 获取apk包 的版本信息
- 周鸿祎:互联网思维不是“万能药”
- java实现word,ppt,excel,jpg转pdf
- list,set,map的区别
- mysql中replace函数的用法
- 公司技术管理角度看游戏程序员发展
- 接口和抽象类的区别 --相信你看完不会再混淆了
- 共用email将增进情侣感情