,判斷該外接設(shè)備是否為硬按鈕。
[0040]104、若是硬按鈕,則第三方獲取外部信息的應(yīng)用向移動(dòng)終端的系統(tǒng)發(fā)送指令指示音頻接口用于接收硬按鈕的觸發(fā)指令。
[0041]需要說(shuō)明的是,音頻接口一般用于音頻數(shù)據(jù)的傳輸,由于本發(fā)明實(shí)施例中使用已有的音頻接口實(shí)現(xiàn)有別于音頻數(shù)據(jù)傳輸?shù)墓δ?,所以需要向移?dòng)終端發(fā)送指令告知移動(dòng)終端的系統(tǒng),該接口目前是別有他用的,不要再按照原有的功能進(jìn)行音頻數(shù)據(jù)的傳輸,而是要用于接收硬按鈕的觸發(fā)指令,以便將該觸發(fā)指令發(fā)送給第三方獲取外部信息的應(yīng)用。
[0042]105、當(dāng)硬按鈕有觸發(fā)操作時(shí),移動(dòng)終端通過(guò)音頻接口接收硬按鈕操作得到觸發(fā)操作信息,并通過(guò)移動(dòng)終端的系統(tǒng)將觸發(fā)操作信息發(fā)送給第三方獲取外部信息的應(yīng)用。
[0043]其中,硬按鈕與移動(dòng)終端的硬件電路通過(guò)按壓實(shí)現(xiàn)接通和斷開(kāi)連接,當(dāng)硬按鈕按下時(shí),其與移動(dòng)終端的硬件電路接通;當(dāng)其松開(kāi)時(shí),其與移動(dòng)終端的硬件電路斷開(kāi)。由此,由于對(duì)硬按鈕的點(diǎn)觸操作將使得電路產(chǎn)生對(duì)應(yīng)的脈沖,根據(jù)該脈沖得到對(duì)應(yīng)的觸發(fā)操作信息。例如,在硬按鈕在松開(kāi)狀態(tài)時(shí),移動(dòng)終端的硬件電路可以為斷開(kāi)狀態(tài),得到低電位,而硬按鈕在按下?tīng)顟B(tài)時(shí),移動(dòng)終端的硬件電路就為閉合狀態(tài),得到高電位,從而由接收到的高低點(diǎn)位生產(chǎn)觸發(fā)操作信息。
[0044]106、第三方獲取外部信息的應(yīng)用接收觸發(fā)操作信息,分析觸發(fā)操作信息得到觸發(fā)指令,并根據(jù)觸發(fā)指令啟動(dòng)并執(zhí)行對(duì)應(yīng)的應(yīng)用操作。
[0045]其中,分析觸發(fā)操作信息得到觸發(fā)指令是指由第三方獲取外部信息的應(yīng)用將接收到的觸發(fā)操作信息,轉(zhuǎn)換成第三方應(yīng)用軟件可識(shí)別的觸發(fā)指令,進(jìn)而判斷需要啟動(dòng)移動(dòng)終端對(duì)應(yīng)的硬件設(shè)備或系統(tǒng)或第三方系統(tǒng),執(zhí)行相應(yīng)的功能操作。所述應(yīng)用操作可以為但不局限于包括拍照、錄音、清理系統(tǒng)、清理內(nèi)存、查殺毒或游戲等;具體的如啟動(dòng)攝像頭進(jìn)行拍照,或啟動(dòng)錄音模塊進(jìn)行錄音,啟動(dòng)應(yīng)用程序執(zhí)行清理系統(tǒng)、清理內(nèi)存、查殺毒或游戲等。
[0046]在執(zhí)行該本發(fā)明實(shí)施例之前要先在第三方獲取外部信息的應(yīng)用中設(shè)置觸發(fā)操作信息與觸發(fā)指令的關(guān)系,實(shí)際就是設(shè)置硬按鈕點(diǎn)擊操作和觸發(fā)指令。根據(jù)對(duì)該過(guò)程的不同描述,可以將按鈕的點(diǎn)擊情況按點(diǎn)擊次數(shù)或者點(diǎn)擊時(shí)長(zhǎng)分為不同的觸發(fā)指令,例如,可以把在I秒內(nèi)按I次按鈕定義為觸發(fā)指令1,把I秒內(nèi)按3次按鈕定義為觸發(fā)指令2,也可以把長(zhǎng)按(按鈕由斷開(kāi)到閉合再到斷開(kāi)的時(shí)間為0.5秒)定義為觸發(fā)指令1,把短按(按鈕由斷開(kāi)到閉合再到斷開(kāi)的時(shí)間為0.1秒)定義為觸發(fā)指令2。上述內(nèi)容的設(shè)置反應(yīng)到觸發(fā)操作信息與觸發(fā)指令的關(guān)系也就是預(yù)定時(shí)間內(nèi)脈沖的次數(shù)以及脈沖的大小來(lái)表示不同的觸發(fā)指令。
[0047]基于上述圖1的觸發(fā)應(yīng)用操作的方法,在具體實(shí)現(xiàn)的操作中,本發(fā)明實(shí)施例還提供一種采用Android系統(tǒng)移動(dòng)終端的觸發(fā)拍照的方法,如圖2所示,該方法具體包括以下步驟:
[0048]201、移動(dòng)終端的系統(tǒng)檢測(cè)移動(dòng)終端的音頻接口是否有設(shè)備插入。
[0049]在進(jìn)行檢測(cè)前,要先保證移動(dòng)終端上設(shè)置有第三方獲取外部信息的應(yīng)用,因?yàn)?,第三方獲取外部信息的應(yīng)用中的應(yīng)用程序會(huì)向移動(dòng)終端的系統(tǒng)發(fā)送信息,告知在移動(dòng)終端的音頻接口還可以是硬按鈕接口,進(jìn)而實(shí)現(xiàn)第三方獲取外部信息的應(yīng)用一鍵操作的功能。
[0050]由于本發(fā)明實(shí)施例中的移動(dòng)終端系統(tǒng)采用的是Android系統(tǒng)系統(tǒng),因此檢測(cè)音頻接口是否有設(shè)備插入可以采用如下的方法:
[0051]首先,創(chuàng)建一個(gè)BroadcastReceiver的子類,用于監(jiān)聽(tīng)耳機(jī)接口是否有設(shè)備插入和拔出:public class HeadsetPlugReceiver extends BroadcastReceiver{privatestatic final String TAG = 〃HeadsetPlugReceiver〃 ;?Override public voidonReceive (Context context, Intent intent) {if (intent.hasExtra(〃 state,,)){if(intent.getlntExtra(〃state〃,0) = = 0){Toast.makeText (context, ^headset notconnected,,,Toast.LENGTH—LONG).show () ;} else if (intent.getlntExtra (〃state〃,0)= =I) {Toast.makeText (context, "headset connected,,,Toast.LENGTH_L0NG).show() ;}}}}
[0052]然后,在需要監(jiān)聽(tīng)該事件的Activity中的onCreateO中注冊(cè)監(jiān)聽(tīng)該廣播,同時(shí)不要忘記在 onDestroy ()中注銷(xiāo)監(jiān)聽(tīng)該廣播 -public class TestHeadSetPlugActivityextends Activity{private HeadsetPlugReceiver headsetPlugReceiver ;/**Calledwhen the activity is first created.*/1verride public void onCreate(BundlesavedlnstanceState) {super.0nCreate (savedlnstanceState) ;setContentView(R.layout, main) ;/*register receiver氺/registerHeadsetPlugReceiver() ;}private voidregisterHeadsetPlugReceiver(){headsetPlugReceiver = newHeadsetPlugReceiver();IntentFilter intentFilter = new IntentFilter () ; intentFiI ter.addAct1n(〃android.1ntent, act1n.HEADSET_PLUG〃);registerReceiver(headsetPlugReceiver, intentFilter) ;}1verride public void onDestroy ()IunregisterReceiver(headsetPlugReceiver) ;super.0nDestroy() ;}}
[0053]根據(jù)上述的方式就可以實(shí)現(xiàn)檢測(cè)該移動(dòng)終端的耳機(jī)接口是否有外部設(shè)備插入或拔出了。
[0054]當(dāng)移動(dòng)終端的系統(tǒng)檢測(cè)音頻接口有設(shè)備插入時(shí),執(zhí)行202。
[0055]202、若有設(shè)備插入,則移動(dòng)終端的系統(tǒng)獲取音頻接口插入設(shè)備的屬性信息,并將屬性信息發(fā)送給第三方獲取外部信息的應(yīng)用。
[0056]本步驟執(zhí)行的內(nèi)容同102,此處不再贅述。
[0057]203、第三方獲取外部信息的應(yīng)用接收屬性信息,并根據(jù)屬性信息判斷音頻接口插入設(shè)備是否為硬按鈕。
[0058]第三方獲取外部信息的應(yīng)用在接收到插入設(shè)備的屬性信息后,將該屬性信息中的設(shè)備屬性參數(shù)與硬按鈕的屬性參數(shù)進(jìn)行對(duì)比,相同則確定該插入設(shè)備為硬按鈕,不同則輸出提示信息,提示用戶是否將插入的設(shè)備設(shè)置為硬按鈕,由用戶選擇輸入是否將插入設(shè)備設(shè)置為硬按鈕,例如,在插入耳機(jī)時(shí),第三方獲取外部信息的應(yīng)用中的應(yīng)用軟件會(huì)彈出提示框,提示用戶插入的設(shè)備是“按鍵”或“耳機(jī)”,并可由用戶選擇設(shè)定,若用戶選擇為耳機(jī),則移動(dòng)終端將此外接設(shè)備確定為耳機(jī),若用戶選擇為外接按鍵,則移動(dòng)終端將此外接設(shè)備確定為硬按鈕。
[0059]204、若是硬按鈕,則第三方獲取外部信息的應(yīng)用向移動(dòng)終端的系統(tǒng)發(fā)送指令,指示音頻接口用于接收硬按鈕的觸發(fā)指令。
[0060]在確定了硬按鈕后,第三方獲取外部信息的應(yīng)用向移動(dòng)終端的系統(tǒng)發(fā)送指令指示音頻接口為硬按鈕接口,用于接收硬按鈕的觸發(fā)指令。此步驟同104,此處不再贅述。
[0061]205、當(dāng)硬按鈕有觸發(fā)操作時(shí),移動(dòng)終端通過(guò)音頻接口接收觸發(fā)操作得到觸發(fā)操作信息,并通過(guò)移動(dòng)終端的系統(tǒng)將觸發(fā)操作信息發(fā)送給第三方獲取外部信息的應(yīng)用。
[0062]其中,硬按鈕的觸發(fā)操作是指用戶對(duì)插在音頻接口的硬按鈕進(jìn)行的點(diǎn)擊操作,通過(guò)對(duì)硬按鈕的點(diǎn)擊,使得硬按鈕的物理結(jié)構(gòu)發(fā)生改變,移動(dòng)終端的硬件電路通過(guò)電信號(hào)變化的方式,將硬按鈕的這種改變加以記錄,并以信息的形式發(fā)送給第三方獲取外部信息的應(yīng)用。
[0063]206、第三方獲取外部信息的應(yīng)用接收觸發(fā)操作信息,分析觸發(fā)