我想了解设备的主页按钮执行的确切操作是什么?即当您点击主页按钮时,发出的意图、意图类别和操作是什么,将其带回空白主页屏幕。我想知道在单击自己的自定义按钮时实现此操作需要涉及哪些内容。谢谢(注:我知道这不是标准做法,但我的设备也不是标准的)。
我想了解设备的主页按钮执行的确切操作是什么?即当您点击主页按钮时,发出的意图、意图类别和操作是什么,将其带回空白主页屏幕。我想知道在单击自己的自定义按钮时实现此操作需要涉及哪些内容。谢谢(注:我知道这不是标准做法,但我的设备也不是标准的)。
如果你想显示主屏幕,你可以通过以下方式实现:
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>
你可以参考以下代码:
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) {}
}
}
myHandler
是什么? - Mr_and_Mrs_D