2010-07-26 41 views
1

我正在開發一個應用程序,它必須在前臺和後臺捕獲關鍵事件。我使用了下面的代碼。但我無法在後臺捕獲密鑰。密鑰捕獲中的問題

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; 

} 
} 

我使用的廣播reciever ..

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); 
} 
} 

任何人都可以糾正我。

回答

2

您不能捕獲您的應用程序之外的重要事件。

+0

這個改變了嗎?請看看這個:http://groups.google.com/group/android-developers/browse_thread/thread/a2d95b5c4fef7e01?pli=1 – Diego 2011-08-12 12:22:41