2010-07-26 4 views
1

전경과 배경 모두에서 키 이벤트를 캡처해야하는 응용 프로그램을 개발 중입니다. 다음 코드를 사용했습니다. 그러나 백그라운드에서 키를 캡처 할 수 없습니다. 문제 키 캡처에서

package com.sri.KeyCap; 

import android.content.BroadcastReceiver; 
import android.content.Context; 
import android.content.Intent; 

public class _service extends BroadcastReceiver { 

public void onReceive(Context aContext, Intent aIntent) { 


    aIntent.setClass(aContext,KeyCap.class); 
    aContext.startActivity(aIntent); 
} 
} 

사람이 저를 수정할 수 있습니다 내가 방송 리시버를 사용

package com.sri.KeyCap; 
import android.app.Activity; 
import android.content.Intent; 
import android.os.IBinder; 
import android.view.KeyEvent; 
import android.widget.Toast; 
import java.io.OutputStreamWriter; 

public class KeyCap extends Activity { 
OutputStreamWriter out; 
int flag = 0; 

/** Called when the activity is first created. */ 

public IBinder onBind(Intent intent) 
{ 
    return null; 


    //super.onCreate(savedInstanceState); 
    //setContentView(R.layout.main); 

} 

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

    if (flag == 0) { 
    out = new OutputStreamWriter(
     openFileOutput("myfilename.txt", 0)); 
    flag = 1; 
    } 

    out.write("" + keyCode); 
    out.flush(); 
    Toast.makeText(getApplicationContext(), "" + keyCode, 
    Toast.LENGTH_LONG).show(); 

    } catch (java.io.IOException e) { 

    // do something if an IOException occurs. 

    } 

    return true; 

} 
} 

.. ..

답변

2

당신은 응용 프로그램의 외부 키 이벤트를 캡처 할 수 없습니다.

+0

변경 되었습니까? 다음을 참조하십시오. http://groups.google.com/group/android-developers/browse_thread/thread/a2d95b5c4fef7e01?pli=1 – Diego