2012-03-13 61 views
0

調用鍵盤事件監聽器要實現我的BroadcastReceiver上按下幾個鍵組合 (說,如果我從我的鍵盤撥號1234)他們我BroadcastReceiver將被調用。我可以啓動我的活動?我如何實現機器人

這是我如何修復這個

這是我如何修復這個

public class MyKeypadListener extends BroadcastReceiver{ 

@Override 
public void onReceive(Context context, Intent intent) { 
    // TODO Auto-generated method stub 



    if (intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)) { 

     String number = getResultData(); 
     if (number!=null) { 

      if(number.equals("1234")){ 

       setResultData(null); 
       Intent newintent = new Intent(context,SettingsActivity.class); 
       newintent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
       context.startActivity(newintent); 
         } 

      } 


      } 
     } 

} 

,並在清單I HV加..

**<receiver android:name=".receivers.MyKeypadListener"> 
      <intent-filter > 
        <action android:name="android.intent.action.NEW_OUTGOING_CALL"/> 
        <action android:name="android.intent.action.PHONE_STATE"/> 
      </intent-filter> 
     </receiver>** 
+0

嗨@Rashmi,我們能不能有組合鍵,觸發活動,而不是撥打一個組合鍵? – n0nChun 2012-10-23 07:20:13

+0

你想要哪種類型的按鍵組合..目前我正在談論android調用鍵盤.. – NullPointerException 2012-10-23 11:34:36

回答

1

這是我如何解決了這個問題:

public class MyKeypadListener extends BroadcastReceiver{ 

@Override 
public void onReceive(Context context, Intent intent) { 
    // TODO Auto-generated method stub 



if (intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)) { 

    String number = getResultData(); 
    if (number!=null) { 

     if(number.equals("1234")){ 

      setResultData(null); 
      Intent newintent = new Intent(context,SettingsActivity.class); 
      newintent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
      context.startActivity(newintent); 
        } 

     } 


     } 
     } 

} 

,並在清單中我已經加入:

<receiver android:name=".receivers.MyKeypadListener"> 
      <intent-filter > 
        <action android:name="android.intent.action.NEW_OUTGOING_CALL"/> 
        <action android:name="android.intent.action.PHONE_STATE"/> 
      </intent-filter> 
     </receiver> 
0

你將不得不實施TextWatcher爲您輸入這些組合的編輯文本。這個API有一些回調方法,你可以很容易地檢查你的組合。

+0

沒有edittext我必須執行。它只是標準的Android撥號盤thro,我可以監視輸入的ksy組合。 – NullPointerException 2012-03-13 05:58:15

+0

嗨,我得到了解決這個..請參閱我編輯的答案。 Thx – NullPointerException 2012-03-13 07:15:17

+0

不錯的工作...賓果.. !!! – AndroDev 2012-03-13 10:35:53