2012-02-14 15 views
0

私はレイアウトに「OK」ボタン(ソフトキー)があり、それを使ってイベントを処理するアンドロイドアプリケーションを開発しました。その機能をハードキーにマップしたい(ホームキーのような)アプリケーションの実行中に私の携帯電話で。また、ワンクリックとダブルクリックを区別する方法も知りたい。どのように2つのボタンのクリック間の時間のギャップを知るには、ダブルクリックを処理するためにその期間を変更することができます。アンドロイドのキーの機能を変更する

+1

ハードキーはどういう意味ですか?ホームボタンまたは戻るボタン? –

+0

yaaホームボタンと言うと、どうすればそれにいくつかの機能を割り当てることができます – rajesh

+0

ホーム、戻るボタンを処理したいのですか? – OnkarDhane

答えて

2

ホームボタンの機能を傍受しないでください。これはユーザーがどの段階でもアプリから出る唯一の方法だからです。あなたはback buttonの機能を傍受するために、この関数をオーバーライドすることができます

EDIT
public void onBackPressed{ 
//do something here 
} 

:あなたは、したがって、あなたがやりたいものは何でもホームボタンを無効にカントアンドロイドで

@Override 
    public boolean onKeyDown(int keyCode, KeyEvent event) { 
     // TODO Auto-generated method stub 
     return super.onKeyDown(keyCode, event); 
    } 

    @Override 
    public boolean onKeyLongPress(int keyCode, KeyEvent event) { 
     // TODO Auto-generated method stub 
     return super.onKeyLongPress(keyCode, event); 
    } 
+0

このメソッドは、バックボタンに関連していますか? – rajesh

+0

ええ。しかし、私はあなたがそれをあなたの機能性のために使用するならば、その適切とは思わない。戻るボタンは以前のアクティビティに戻るためです。あなたはユーザーからの入力を受けたいと言っています(はいまたはいいえ)。あなたはそれを行うことができますが、私はそれをしないことをお勧めします –

+0

代わりにyesとnoで警告ダイアログを追加することができます。 –

0
public boolean onKeyDown(int keyCode, KeyEvent event) { 

     if(keyCode == KeyEvent.KEYCODE_BACK){ 

      finish(); 
        startActivity(new Intent(URCLASSNAME.this,Homeclassname.class)); 


     } 
     return super.onKeyDown(keyCode, event); 
    } 

は、バックキー、それを行いますが押された。

関連する問題