2011-04-02 18 views
9

Cihazların ana düğmesinin hangi işlemi gerçekleştirdiğini tam olarak bilmek ister misiniz? ev düğmesine tıkladığınızda hangi niyet, amaç kategorisi ve eylem verilir? boş ana ekrana geri döner. Kendi özel düğmem üzerine tıklandığında bu işlemin gerçekleştirilmesinde neyin dahil olduğunu bilmek istiyorum. Teşekkürler (PS biliyorum standart değil, ama benim cihazım).Android - Hangi düğme ev düğme sorunu yapar?

cevap

-1

Sen koduna başvurabilirsiniz:

Intent startMain = new Intent(Intent.ACTION_MAIN); 
startMain.addCategory(Intent.CATEGORY_HOME); 
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(startMain); 

Güncelleme: Eğer ana ekranını göstermek istiyorsanız

Button btnHome; 
btnHome = (Button) findViewById(R.id.Home); 
btnHome.setOnClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     // sendKey(KeyEvent.KEYCODE_HOME); 
     myHandler.sendEmptyMessage(Home); 
    } 
}); 

class myRunnable implements Runnable { 

    public myRunnable(int key) { 
     this.keycode = key; 
    } 

    int keycode; 

    @Override 
    public void run() { 
     sendKey(keycode); 
    } 

    public void sendKey(int keyCode) { 
     System.out.println("Judy--------------------->sendkey " + keyCode); 
     long now = SystemClock.uptimeMillis(); 
     long n = System.currentTimeMillis(); 
     try { 
      KeyEvent down = new KeyEvent(now, now, KeyEvent.ACTION_DOWN, 
        keyCode, 0); 
      KeyEvent up = new KeyEvent(now, now, KeyEvent.ACTION_UP,keyCode, 0); 
      IWindowManager wm = IWindowManager.Stub.asInterface(ServiceManager 
        .getService("window")); 
      wm.injectKeyEvent(down, false); 
      wm.injectKeyEvent(up, false); 
     } catch (RemoteException e) {} 
    } 
} 
+0

'myHandler' ne afedersiniz W? –

+0

@Mr_and_Mrs_D myHandler bir İşleyicidir. – Judy

+0

gerçekten? Kodunuzu açıklar mısınız lütfen? kodunuzda myHandler tanımı yok - lütfen cevabınızı, sorunun nasıl yanıtlandığını açıklayan bir şekilde düzenleyin ve bana bildirin –

0

Bu, xml'de niyetiniz olup olmadığına bakarsanız, bu durumda:

<activity 
     android:name=".MainActivity" 
     android:launchMode="singleTask" 
     android:excludeFromRecents="true"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <!-- The following two intent-filters are the key to set homescreen --> 
      <category android:name="android.intent.category.HOME" /> 
      <category android:name="android.intent.category.DEFAULT" /> 

     </intent-filter> 
    </activity> 
0

Ayrıca here

Eğer logcat ayıklama seçenekleri gibi kullanarak adb Ana Ekran düğmesine tıkladıktan sonra ne olacağını görmek gerekir bakınız;

adb logcat *: