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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

android自动回复退订,Android实现短信自动回复,挂电话

發(fā)布時間:2024/7/23 Android 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android自动回复退订,Android实现短信自动回复,挂电话 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

原標(biāo)題:Android實現(xiàn)短信自動回復(fù),掛電話

簡單功能,配置一下ITelephoney,ITelephony這個接口不能直接用的。

需要先在src下新建包com.android.internal.telephony,在其中新建一個File,后綴為aidl(它是一種android內(nèi)部進(jìn)程通信接口的描述語言,通過它我們可以定義進(jìn)程間的通信接口),內(nèi)容如下

packagecom.android.internal.telephony;

interfaceITelephony{

booleanendCall();

voidanswerRingingCall();

}

接下來就是一下MainActivity,垃圾代碼如下。

packagecom.example.autoreply;

importandroid.os.Bundle;

importandroid.os.Handler;

importandroid.app.Activity;

importjava.lang.reflect.Method;

importjava.util.HashMap;

importjava.util.List;

importcom.android.internal.telephony.ITelephony;

importandroid.content.Context;

importandroid.content.SharedPreferences;

importandroid.content.SharedPreferences.Editor;

importandroid.telephony.PhoneStateListener;

importandroid.telephony.SmsManager;

importandroid.telephony.TelephonyManager;

importandroid.view.View;

importandroid.view.View.OnClickListener;

importandroid.view.Window;

importandroid.widget.Button;

importandroid.widget.EditText;

importandroid.widget.TextView;

publicclassMainActivityextendsActivity{

Button btn; //退出按鈕

EditText et; //回復(fù)短信的內(nèi)容編輯框

TextView tv; //攔截數(shù)量通知的顯示

TelephonyManager tpm;

SharedPreferences sp;

intcount = 0; //來電總數(shù)

intpeo = 0; //來電的號碼個數(shù),跟來電總數(shù)有區(qū)別,這個不包括重復(fù)來電,

String num; //存儲來電號碼

HashMap numMap; //用來存儲來電號碼

@Override

publicvoidonCreate(Bundle savedInstanceState){

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); // 注意順序

setContentView(R.layout.activity_main);

getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, // 注意順序

R.layout.title);

tv = (TextView) findViewById(R.id.textView1);

et = (EditText) findViewById(R.id.editText1);

btn = (Button) findViewById(R.id.button1);

sp = this.getSharedPreferences( "SP", MODE_PRIVATE);

numMap = newHashMap();

if(sp.getString( "sms", null) != null){

et.setText(sp.getString( "sms", "我現(xiàn)在正在上課,一會兒下課了聯(lián)系你"));

}

tpm = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE); //獲取電話通訊服務(wù)

tpm.listen( newMyPhoneStateListener(),PhoneStateListener.LISTEN_CALL_STATE); //給電話服務(wù)增加狀態(tài)監(jiān)聽器,監(jiān)聽來電,通話,掛斷等狀態(tài)

btn.setOnClickListener( newOnClickListener() {

@Override

publicvoidonClick(View v){

Editor editor = sp.edit();

editor.putString( "sms", et.getText().toString());

editor.commit(); //這里是默認(rèn)自動保存用戶編輯過的回復(fù)短信內(nèi)容的,

}

});

}

classMyPhoneStateListenerextendsPhoneStateListener{

@Override

publicvoidonCallStateChanged(intstate, String incomingNumber){

num = incomingNumber;

switch(state) {

caseTelephonyManager.CALL_STATE_IDLE: //空閑

break;

caseTelephonyManager.CALL_STATE_RINGING: //來電

endCall(); //自動掛斷

if(!numMap.containsKey(num)){ //如果之前沒有來電,把這個號碼加入已經(jīng)來電過的列表

sendMes();

numMap.put(num, null);

peo ++;

updateUi(); //更新來電數(shù)目

}

break;

caseTelephonyManager.CALL_STATE_OFFHOOK: //摘機(正在通話中)

break;

}

}

privatevoidupdateUi(){

if(count > 0){

tv.setVisibility(View.VISIBLE);

}

handler.sendEmptyMessage( 0);

// tv.setText("已拒接" + count + "個來電,共" + peo +"個人聯(lián)系過您");

}

privatevoidendCall()

{

Class c = TelephonyManager.class;

try

{

Method getITelephonyMethod = c.getDeclaredMethod( "getITelephony", (Class[]) null);

getITelephonyMethod.setAccessible( true);

ITelephony iTelephony = null;

iTelephony = (ITelephony) getITelephonyMethod.invoke(tpm, (Object[]) null);

iTelephony.endCall();

count ++;

updateUi();

}

catch(Exception e)

{

}

}

privatevoidsendMes(){

//直接調(diào)用短信接口發(fā)短信

SmsManager smsManager = SmsManager.getDefault();

List divideContents = smsManager.divideMessage(et.getText().toString());

for(String text : divideContents) {

smsManager.sendTextMessage(num, null, text, null, null);

}

}

}

publicHandler handler = newHandler()

{

publicvoidhandleMessage(android.os.Message msg)

{

switch(msg.what)

{

// 接收的內(nèi)容

case0:

tv.setText( "已拒接"+ count + "個來電,共"+ peo + "個人聯(lián)系過您");

break;

default:

break;

}

};

};

}

權(quán)限設(shè)置:

返回搜狐,查看更多

責(zé)任編輯:

總結(jié)

以上是生活随笔為你收集整理的android自动回复退订,Android实现短信自动回复,挂电话的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 一级做a爱片性色毛片 | 欧美激情国产日韩精品一区18 | 无码人妻精品一区二区蜜桃色欲 | 成人在线免费播放视频 | 一区二区三区福利视频 | 久久久久不卡 | 九一精品在线 | 成人在线免费播放视频 | 日韩国产欧美视频 | 亚洲av成人无码一区二区三区在线观看 | 国产精品一级片在线观看 | 亚洲欧洲自拍偷拍 | 永久免费看片 | 女人脱下裤子让男人桶 | 91看片黄 | 欧美色图片区 | 色网导航站 | 色老板av | 一级片黄色 | 欧美在线免费播放 | 久久网中文字幕 | 男生插女生视频 | 哺乳援交吃奶在线播放 | 亚洲com| 超碰在线人 | 在线看b | 99视频热| av播播| 亚洲精品一线二线三线 | 女人看黄色网 | 一区二区三区不卡视频在线观看 | 日本久久一区二区 | 男女做激情爱呻吟口述全过程 | 国产女人高潮毛片 | 91成人天堂久久成人 | 国产aⅴ精品一区二区果冻 台湾性生生活1 | 欧美国产精品一二三 | 亚洲白浆 | 免费的黄色的网站 | 男女那个视频 | 精品一区二区三区免费视频 | 国产麻豆免费观看 | 国产三级不卡 | 狠狠搞av | 午夜性剧场 | 欧美一区二不卡视频 | 中国av免费看 | 国产极品999| 国产午夜精品一区二区三区欧美 | 成人中文字幕在线观看 | 国产免费一区二区三区最新不卡 | 97精品国产97久久久久久春色 | 亚洲狠狠婷婷综合久久久久图片 | 在线观看av国产一区二区 | 午夜免费观看 | 亚洲一区二区自拍偷拍 | 亚洲av无码专区在线播放中文 | 波多在线播放 | 精品美女久久 | www.xxx在线观看 | 日本欧美一级片 | 毛片网在线观看 | 男人天堂手机在线 | 日日夜夜草 | 中文字幕乱码人妻一区二区三区 | 精品综合久久久 | 少妇偷人精品无码人妻 | 两女双腿交缠激烈磨豆腐 | 成av人在线 | 福利小视频在线播放 | 亚洲视频国产视频 | 天天爽视频 | 成人免费观看在线视频 | www.av小说 | xxxxx在线观看 | 欧美黄色aaa| 亚洲电影在线看 | 青青草久久久 | 久久久无码人妻精品无码 | 秋霞av鲁丝片一区二区 | 涩涩视频在线播放 | 国产香蕉av | 91久久精品夜夜躁日日躁欧美 | 欧美精品18| 国产激情文学 | 三级a做爰全过程 | 久热久| 亚洲午夜18毛片在线看 | 国产一区免费看 | 无遮挡的裸体按摩的视频 | 国产精品久久久久久 | 日韩在线视频二区 | 日韩天天操 | 91精品人妻一区二区 | 中文区中文字幕免费看 | 麻豆网站免费观看 | 在线 日本 制服 中文 欧美 | 男女插鸡视频 | 白白色在线播放 |