Android Service -電話錄音 建國科技大學 資管系 饒瑞佶 2013/7 V1. Android Service -電話錄音 需要 – BroadcastReceiver 廣播是用來通知系統,動作或資料處理已經 完成了 例如收到一封簡訊、電池用量有變化或者 有 人打電話進來 等等 –

Slides:



Advertisements
Similar presentations
桃園縣政府貼心規劃【 1999 縣民諮詢服務熱 線】,提供桃園縣民更優質、便捷的服務。 有不清楚的縣政問題,歡迎您隨時拿起電話 撥打 1999 ,我們將協助您提供諮詢服務,讓 您享受便捷的生活。 1999 將是您的好幫手, 天天在您左右!
Advertisements

FCU, Department of ECE, IC Design Research Lab. TEL: # 4945 Pre-SIm , Post-Sim.
Introduction to Java Programming Lecture 13 Classes I OO Programming.
建立使用案例敘述 --Use Case Narrative
第 10 章 Java 的執行緒 10-1 執行緒的基礎 10-2 Java 執行緒的使用方法 10-3 Java 執行緒的同步 10-4 管道串流的執行緒.
: A-Sequence 星級 : ★★☆☆☆ 題組: Online-judge.uva.es PROBLEM SET Volume CIX 題號: Problem D : A-Sequence 解題者:薛祖淵 解題日期: 2006 年 2 月 21 日 題意:一開始先輸入一個.
3Com Switch 4500 切VLAN教學.
What is static?. Static? 靜態 ? class Test { static int staticX; int instanceX; public Test(int var1, int var2) { this.staticX = var1; this.instanceX =
SIP Mobiity TA: 洪敏書
在 Ad-hoc 網路中實現點對 點發送訊息與廣播訊息. 檔案下載  範例程式可在下列網址取得  DEMO 程式可在下列網址取得
Android Class vs. Jar 建國科技大學 資管系 饒瑞佶 2013/4 V1. 從 MyAndroidProject 專案改起 將 BMI_method.java 改寫成 class 方式 步驟 1 :在原 package 內新增一個 class.
1 Web of Science 利用指引 單元二 瀏覽與處理查詢結果. 2 瀏覽檢索結果 查出的結果,預設以時間排列, 使用者可改變結果的排列方式: 還可以依被引用次數、相關度、 第一作者、刊名、出版年等排序 回到前先查的結果畫面 點選想看資料的完整書目 本館訂購範圍的期刊 全文,便可直接連結.
1 Web of Science 利用指引 逢甲大學圖書館 參考服務組 單元五 存檔或輸出.
Review of Chapter 3 - 已學過的 rules( 回顧 )- 朝陽科技大學 資訊管理系 李麗華 教授.
: ShellSort ★★☆☆☆ 題組: Problem D 題號: 10152: ShellSort 解題者:林一帆 解題日期: 2006 年 4 月 10 日 題意:烏龜王國的烏龜總是一隻一隻疊在一起。唯一改變烏龜位置 的方法為:一隻烏龜爬出他原來的位置,然後往上爬到最上方。給 你一堆烏龜原來排列的順序,以及我們想要的烏龜的排列順序,你.
國立聯合大學 資訊管理學系 陳士杰老師 MySQL5 視覺化資料庫管理工具 - MySQL Adminstrator.
STAT0_sampling Random Sampling  母體: Finite population & Infinity population  由一大小為 N 的有限母體中抽出一樣本數為 n 的樣 本,若每一樣本被抽出的機率是一樣的,這樣本稱 為隨機樣本 (random sample)
1 Web of Science 利用指引 逢甲大學圖書館 參考服務組 系統簡介 查詢模式 查詢結果 輸出結果 查詢技巧 Web of Science 利用指引大綱 個人化服務 - 註冊 - 登入.
JAVA 程式設計與資料結構 第十四章 Linked List. Introduction Linked List 的結構就是將物件排成一列, 有點像是 Array ,但是我們卻無法直接經 由 index 得到其中的物件 在 Linked List 中,每一個點我們稱之為 node ,第一個 node.
各種線上電子資源的特異功能 STICnet 的 SDI 專題訂閱服務 2003/4/28 修改. 無論校內外皆可使用。連線至
Web Meeting 使用教學 ─ 學生版.  如何即時線上與老師互動? 一. 瀏覽太御科技首頁 二. 安裝 JoinNet 在首頁的左手邊 1. 下載 JoinNet 進行安裝 JoinNet.
1 網路同步學習 如何使用中山大學管理學院知識管理平台 愷中 製作. 2 如何登入中山大學網路學習平台 1. 首先, 請輸入 2. 點選申請帳號, 依照螢幕所示, 輸入個人資訊.
1 單元三 查詢結果的引用分析 Web of Science 利用指引 查看出版及被引用情況 在查詢結果的清單中,可以瀏覽近 20 年來查詢主題出版和被引用的情況。
南投縣社區大學 Excel 實務應用入門 講師 : 林泉成
國立中山大學財產管理系統 線上報廢、盤點系統 總務處保管組 策劃 計算機與網路中心 分析設計 2008/03.
長訊科技 EVRCOM Voice Mail System 使用者操作說明及流程. 自動總機 -- 來電語音轉接服務流程 ( 範例流程 )
Introduction to Java Programming Lecture 17 Abstract Classes & Interfaces.
24-6 設定開始與結束場景中的 程式 最後我們要替這個遊戲收個尾, 幫它把開始 的等待畫面跟結束畫面處理一下。
影像處理學習營 練習(三)製作影片 【上】 影像處理學習營 教師 吳清月. 製作影片 學習重點 一. 利用 movie maker 軟體,編輯相片。  加上文字幕,與圖片結合。
1 Netlibrary 電子書 Netlibrary 創始於 1998 年,是世界知名的電子書資 料庫,提供 450 多家出版社所出版近 100,962 ( 止)本的電子書,且以每月 2,000 本的 速度增加中。其中 80% 屬於學術性圖書,其餘 20% 一般圖書, 90% 以上為.
各種線上電子資源的特異功能 SwetsWise 的 alert, TOC alert 與 Favorites 2003/4/28 修改.
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 參 資料蒐集的方法.
行政院國家科學委員會工程技術發展處自動化學門 * 試以國立成功大學製造工程研究所 鄭芳田教授 產學合作計畫 : 智慧預測保養系統之設計與實作 成果報告盤點為範例 國科會工程處專題計畫成果典藏 自動化學門成果報告盤點範例.
各種線上電子資源的特異功能 SpringerLINK 的 Alert, Serials Update, News 2003/4/28 修改.
1 單元四 個人化服務 Web of Science 利用指引. 2 個人化服務 Sign In 登入 My EndNote Web 使用 EndNote Web 者可登入 My Citation Alert 查看或修改先前設定的引用通告 My Saved Searches 查看或更改先前儲存過的檢索.
教材名稱:網際網路安全之技術及其應用 (編號: 41 ) 計畫主持人:胡毓忠 副教授 聯絡電話: 教材網址: 執行單位: 政治大學資訊科學系.
從此處輸入帳號密碼登入到管理頁面. 點選進到檔案管理 點選「上傳檔案」上傳資料 點選瀏覽選擇電腦裡的檔案 可選擇公開或不公開 為平台上的資料夾 此處為檔案分類,可顯示在展示頁面上,若要參加 MY EG 競賽,做品一律上傳到 “ 98 MY EG Contest ” 點選此處確定上傳檔案.
6-2 認識元件庫與內建元件庫 Flash 的元件庫分兩種, 一種是每個動畫專 屬的元件庫 (Library) ;另一種則是內建元 件庫 (Common Libraries), 兩者皆可透過 『視窗』功能表來開啟, 以下即為您說明。
1 LAB 5. Audio Transmission over WLAN/GPRS. 2 Goal 嘗試使用 WLAN/GPRS 傳送 Audio 瞭解 WLAN/GPRS 網路特性 瞭解 WLAN/GPRS 對於 Audio 傳輸之影響 增進對於網路特性及多媒體傳輸的基本認識.
法律系 系所科助之血淚辛酸史 劉蕙綺. 系上推行困難處 ( 學期初 ) 傳統習慣:法律系以教科書為主 很多老師沒有電子檔案 專、兼任老師使用平台的意願 因老師多為資深老師,因此在使用電腦部 份可能比較需要幫助 通常學生知道訊息的來源是藉由 BBS 或者 是系上的系板,使用意願會降低.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2008.
Management Abstracts Retrieval System; MARS 檢索操作.
1 Web of Science 利用指引 逢甲大學圖書館 參考服務組 單元六 個人化服務.
安全性管理員 Java 學習手冊 p.p SecurityManager 觀念  Java Application 的系統資源存取權限的設 定  可以由 SecurityManager 完全控制 如 : 檔案系統, Thread, 執行外部 process, 網路存取 一旦 Security.
演算法 8-1 最大數及最小數找法 8-2 排序 8-3 二元搜尋法.
2010 MCML introduction 製作日期: 2010/9/10 製作人 : 胡名霞.
845: Gas Station Numbers ★★★ 題組: Problem Set Archive with Online Judge 題號: 845: Gas Station Numbers. 解題者:張維珊 解題日期: 2006 年 2 月 題意: 將輸入的數字,經過重新排列組合或旋轉數字,得到比原先的數字大,
Linguistics phonetic symbols. 先下載 IPA 字型檔案,執行安裝。 由於這個程式的字型目錄設定錯誤, 所以等重新開機時就會發現字型消失。 所以必須根據以下步驟來讓 Windows 加入 IPA 字型。
廣電新聞播報品質電腦化 評估系統之研發 國立政治大學 資訊科學系 指導教授:廖文宏 學生:蘇以暄.
第12章 多重表單與模組的應用程式 12-1 VB.NET的方案與專案 12-2 模組化VB.NET應用程式 12-3 多重表單的應用程式
PHP+mySQL. 一、何謂 PHP? PHP 的全名為 Hypertext Preprocessor ,它是個被廣泛運 用在網頁程式撰寫的語言,尤其是它能適用於網頁程式的 開發及能夠嵌入 HTML 文件之中,它的語法和 C 、 Java 及 Perl 等語法相似。 PHP 的目的是為了能使網站開發者可以.
概念性產品企劃書 呂學儒 李政翰.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2009.
Biological Science Database 個人化服務設定步驟. Biological Science Database 僅提供專題選 粹服務 專題選粹 (Alerts) :查詢後,提供儲存檢 索策略的功能,日後每週將符合條件的 更新資料,採 方式通知。每筆設定 最多每週可收到.
09610CS_ 校園授權軟體下載與安裝 講師 : 張智宏. 登入校務資訊系統 校園軟體下載.
-Artificial Neural Network- Matlab操作介紹 -以類神經網路BPN Model為例
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2010.
OmniFile Full Text 系列資料庫 個人化服務設定步驟. 此相關資料庫之個人化服 務只提供類似專題選粹的 服務,然無提供 mail 通知的 服務,讀者可建立個人 ID , 並儲存檢索策略,日後需 再進入該資料庫,查詢檢 索策略之新進文章。 導航目次 個人化服務說明 個人帳號密碼申請 個人化服務設定.
What is static? CS340100, NTHU Yoshi. Static? 靜態 ? class Test { static int staticX; int instanceX; public Test(int var1, int var2) { this.staticX = var1;
多媒體技術與應用 實習作業 Part II. 實習作業 利用 Corel Paint Shop Pro X2 完成作業。 作業一:利用影像處理的技巧,讓這張影像變 的更清晰。
著作權所有 © 旗標出版股份有限公司 第 14 章 製作信封、標籤. 本章提要 製作單一信封 製作單一郵寄標籤.
VHDL語法(3).
南台科技大學 資訊工程系 Arduino 與電腦端互動設計之三 報告人:洪賢麟 指導老師:李育強 日期: 2013/11/20 報告人:洪賢麟 指導老師:李育強 日期: 2013/11/20.
SQL Server 2005 使用與管理 建國科技大學 資管系 饒瑞佶. SQL Server Management Studio.
Android Service -播放音樂 建國科技大學 資管系 饒瑞佶 2013/7 V1. Android Service Service 是跟 Activity 並行 – 一個音樂播放程式若 沒使用 Service ,即使按 home 鍵畫面離 開之後,音樂還是照播 – 如果再執行一次程式,新撥放的音樂會跟先前撥放的一起撥,
Android vs. JavaScript 建國科技大學資管系 饒瑞佶 2013/5. JavaScript call Java By JavascriptInterface 將 native code 寫在 JavascriptInterface 內,例 如取得方位的程式 透過 WebView.
動態版面 建國科技大學 資管系 饒瑞佶 2017/7.
滑動 建國科技大學 資管系 饒瑞佶 2013/4 V1 2015/5 V2.
Presentation transcript:

Android Service -電話錄音 建國科技大學 資管系 饒瑞佶 2013/7 V1

Android Service -電話錄音 需要 – BroadcastReceiver 廣播是用來通知系統,動作或資料處理已經 完成了 例如收到一封簡訊、電池用量有變化或者 有 人打電話進來 等等 – Service

Android Service -電話錄音 啟動本 App 或是開機後,服務將自動執行 設定  應用程式  執行中,可以查看執行 狀態 錄音檔會在 /sdcard/recorded_calls/

先修改 AndroidManifest.xml

Main.java public class Main extends Activity protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Intent receiver = new Intent("rfid.ctu.receiver"); this.sendBroadcast(receiver); } 註冊在 AndroidManifest.xml 我是可以處理這個 BroadcastReceiver 的 人之一

MyBroadcastReceiver.java public class MyBroadcastReceiver extends BroadcastReceiver public void onReceive(Context arg0, Intent arg1) { // TODO 自動產生的方法 Stub Intent service = new Intent(arg0,PhoneListenerService.class); arg0.startService(service); }

PhoneListenerService.java public class PhoneListenerService extends Service public IBinder onBind(Intent intent) { // TODO 自動產生的方法 Stub return null; }

public void onCreate() { TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); telephonyManager.listen(new TeleListine(), PhoneStateListener.LISTEN_CALL_STATE); super.onCreate(); }

PhoneListenerService.java private class TeleListine extends PhoneStateListener { private String mobile; // 來電 private MediaRecorder recorder; // 錄音 private File autoFile; // 存檔 private boolean recoder; // public void onCallStateChanged(int state,String incomingNumber) { try{ switch(state) { case TelephonyManager.CALL_STATE_IDLE : if(recoder) { recorder.stop(); recorder.release(); recoder = false; } break;

PhoneListenerService.java case TelephonyManager.CALL_STATE_OFFHOOK : // 接聽電話 recorder = new MediaRecorder(); //MIC 只錄自己的聲音,如果要錄雙方聲音,需改用 MediaRecorder.AudioSource.VOICE_CALL recorder.setAudioSource(MediaRecorder.AudioSource.MIC); recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); String root_directory = Environment.getExternalStorageDirectory() + "/recorded_calls"; File root_file = new File(root_directory); if(!root_file.exists()) { root_file.mkdir(); } String record_call = root_directory + "/" + mobile + "_" + System.currentTimeMillis() + ".3gp"; File autoFile = new File(record_call); if(!autoFile.exists()) { autoFile.createNewFile(); } //autoFile = new File(getCacheDir(),mobile+ "_" + System.currentTimeMillis() + ".3gp"); recorder.setOutputFile(autoFile.getAbsolutePath()); recorder.prepare(); recorder.start(); recoder = true; break;

PhoneListenerService.java case TelephonyManager.CALL_STATE_RINGING : mobile = incomingNumber; break; default : break; } }catch(Exception e) { e.printStackTrace(); } super.onCallStateChanged(state, incomingNumber); }

再修改 AndroidManifest.xml

加入撥放列表

// 列出所有錄音檔 mFileList = (ListView) findViewById(R.id.listView1); String filePath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/recorded_calls"; File file=new File(filePath); File[] files = file.listFiles(); for(File mCurrentFile:files){ mFileName.add(mCurrentFile.getName()); } ArrayAdapter mAdapter = new ArrayAdapter (this, android.R.layout.simple_expandable_list_item_1,mFileName); mFileList.setAdapter(mAdapter); // 點選後撥放 mFileList.setOnItemClickListener(new public void onItemClick(AdapterView arg0, View arg1, int arg2,long arg3) { String movieurl = Environment.getExternalStorageDirectory().getAbsolutePath() + "/recorded_calls/" + mFileName.get(arg2).toString(); Intent intent = new Intent(android.content.Intent.ACTION_VIEW); Uri data = Uri.parse(movieurl); intent.setDataAndType(data,"video/3gpp"); startActivity(intent); } });