日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

挂断电话的实现(即类似于电话号码黑名单)

發布時間:2024/3/13 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 挂断电话的实现(即类似于电话号码黑名单) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在文章的開頭先列出以下需要注意的地方:

1、需要用到的權限如下:

?

<uses-permission android:name="android.permission.READ_PHONE_STATE"/><!--用于讀取電話的狀態--><uses-permission android:name="android.permission.WRITE_CONTACTS"/><!--用于刪除來電記錄--><uses-permission android:name="android.permission.CALL_PHONE"/><!--用于掛斷電話-->


2、掛斷電話所需要用到的類、方法、與包

?

類:

Class clazz = Class.forName("android.os.ServiceManager");

?

?

方法:

?

Method method = clazz.getMethod("getService", String.class);


?

包:

所需要用到的包的下載路徑為:

下載地址如下:

?

http://download.csdn.net/detail/caihongshijie6/6282451


?

代碼如下:

在寫代碼之前先把所需要用到的包導進來。。

1、MainActivity

?

package com.njupt.endcall1;import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Intent intent = new Intent(this,PhoneService1.class);startService(intent);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}


?

2、PhoneService

?

package com.njupt.endcall1;import java.lang.reflect.Method;import com.android.internal.telephony.ITelephony;import android.app.Service; import android.content.Context; import android.content.Intent; import android.database.ContentObserver; import android.net.Uri; import android.os.Handler; import android.os.IBinder; import android.provider.CallLog.Calls; import android.telephony.PhoneStateListener; import android.telephony.TelephonyManager;public class PhoneService1 extends Service {private TelephonyManager tm;private MyPhoneStateListener listener;@Overridepublic void onCreate() {super.onCreate();tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);listener = new MyPhoneStateListener();tm.listen(listener, PhoneStateListener.LISTEN_CALL_STATE);}private class MyPhoneStateListener extends PhoneStateListener {public MyPhoneStateListener() {}@Overridepublic void onCallStateChanged(int state, String incomingNumber) {super.onCallStateChanged(state, incomingNumber);switch (state) {case TelephonyManager.CALL_STATE_IDLE:break;case TelephonyManager.CALL_STATE_OFFHOOK:break;case TelephonyManager.CALL_STATE_RINGING:endcall(incomingNumber);break;default:break;}}}private void endcall(String incomingNumber) {try {if (incomingNumber.equals("5560")) {Class clazz = Class.forName("android.os.ServiceManager");Method method = clazz.getMethod("getService", String.class);IBinder ibinder = (IBinder) method.invoke(null, Context.TELEPHONY_SERVICE);ITelephony iTelephony = ITelephony.Stub.asInterface(ibinder);iTelephony.endCall();getContentResolver().registerContentObserver(Calls.CONTENT_URI,true, new MyContentObserver(new Handler(), incomingNumber));}} catch (Exception e) {e.printStackTrace();}}private class MyContentObserver extends ContentObserver{private String incomingNumber;public MyContentObserver(Handler handler , String incomingNumber) {super(handler);this.incomingNumber = incomingNumber;}@Overridepublic void onChange(boolean selfChange) {super.onChange(selfChange);Uri uri = Calls.CONTENT_URI;getContentResolver().delete(uri," number = ? ", new String[]{incomingNumber});getContentResolver().unregisterContentObserver(this);}}@Overridepublic IBinder onBind(Intent intent) {// TODO Auto-generated method stubreturn null;}}


?

3、AndroidManifest.xml

?

<uses-permission android:name="android.permission.READ_PHONE_STATE"/><uses-permission android:name="android.permission.WRITE_CONTACTS"/><uses-permission android:name="android.permission.CALL_PHONE"/>

?

<service android:name="com.njupt.endcall1.PhoneService1"/>


?



?

轉載于:https://www.cnblogs.com/james1207/p/3327699.html

總結

以上是生活随笔為你收集整理的挂断电话的实现(即类似于电话号码黑名单)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。