300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 安卓/Android 点击按钮/返回键跳转返回到 手机系统桌面

安卓/Android 点击按钮/返回键跳转返回到 手机系统桌面

时间:2024-04-28 13:38:00

相关推荐

安卓/Android 点击按钮/返回键跳转返回到 手机系统桌面

之前也用到过这段代码,只是未理解其实现原理!个人理解,不当之处还望指正。

跳转到桌面功能 涉及到Activity跳转到HOME,即需要运用Intent对象。

Intent对象是Activity与其他Activity、与系统组件进行通信的常用机理。

核心代码:

Intent intent = new Intent();// 创建Intent对象intent.setAction(Intent.ACTION_MAIN);// 设置Intent动作intent.addCategory(Intent.CATEGORY_HOME);// 设置Intent种类startActivity(intent);// 将Intent传递给Activity

1、intent.setAction 为intent设置要执行的动作

2、intent.ACTION_MAIN 由正在活动的Activity作为初始启动,没有数据输入/输出

3、intent.addCategory 为intent增加组件类型的附加信息。

category的作用:提供将要执行的action的额外信息,一般在地启动组件时需要用到。

4、Intent.CATEGORY_HOME 指定intent跳转的组件附加信息为 HOME

main.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@drawable/background"android:orientation="vertical" ><Buttonandroid:id="@+id/home_button"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/home"android:textColor="@android:color/black" /></LinearLayout>

HomeActivity.java

package com.mingrisoft;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.Button;public class HomeActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);// 设置页面布局Button home = (Button) findViewById(R.id.home_button);// 通过ID值获得按钮对象home.setOnClickListener(new View.OnClickListener() {// 为按钮增加单击事件监听器@Overridepublic void onClick(View v) {Intent intent = new Intent();// 创建Intent对象intent.setAction(Intent.ACTION_MAIN);// 设置Intent动作intent.addCategory(Intent.CATEGORY_HOME);// 设置Intent种类startActivity(intent);// 将Intent传递给Activity}});}}

按返回键返回桌面功能

即把home Button执行命令放在onKeyDown 命令里

@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) { //启动一个意图,回到桌面

Intent intent = new Intent();// 创建Intent对象intent.setAction(Intent.ACTION_MAIN);// 设置Intent动作intent.addCategory(Intent.CATEGORY_HOME);// 设置Intent种类startActivity(intent);// 将Intent传递给Activityreturn true; } return super.onKeyDown(keyCode, event); }

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="/apk/res/android"package="com.mingrisoft"android:versionCode="1"android:versionName="1.0" ><uses-sdk android:minSdkVersion="15" /><applicationandroid:icon="@drawable/ic_launcher"android:label="@string/app_name" ><activity android:name=".HomeActivity" ><intent-filter ><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application></manifest>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。