Android – What Intent主页button问题?

我想知道设备主页button执行什么操作? 即当您点击主页button时,发出了什么意图,意图类别和行动? 这回到了空白的主屏幕。 我想知道当点击我自己的自定义button时,执行这个操作时会发生什么。 谢谢(PS我知道这不是标准的,但我的设备也不是)。

Solutions Collecting From Web of "Android – What Intent主页button问题?"

如果你想显示主屏幕,你可以这样做:

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

更新:检查这个示例应用程序: http : //developer.android.com/resources/samples/Home/index.html

这是XML的意图,以防您正在寻找它:

  <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> 

请参阅这里

你也应该能够看到在使用logcatdebugging选项从adb单击主页button后会发生什么,

adb logcat *:W

你可以参考代码:

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