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

跳转到桌面功能 涉及到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="http://schemas.android.com/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="http://schemas.android.com/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>

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

  1. js拦截物联返回键跳转到指定页面

    js网页拦截物联返回键跳转到指定页面 <script type="text/javascript"> $(document).ready(function () {if ...

  2. Android 点击按钮切换图片

    Android 点击按钮切换图片 效果如图: 点击后: 主要代码: //切换图片 but1.setBackgroundResource(R.drawable.qq1); 全部代码: public cl ...

  3. android点击按钮打开一个网页,Android实现H5点击打开app或跳转指定界面

    Android实现H5点击打开app或跳转指定界面 本文原创,转载请注明出处.欢迎关注我的 简书. 安利一波我写的开发框架:MyScFrame喜欢的话就给个Star 场景 H5界面中的入口 有时候为了 ...

  4. 【前端】关于h5原生混合开发,安卓返回键及侧滑返回 popstate的处理。

    文章目录 背景 跳转方式: 全部使用方式一:push 全部使用方式二:replace 期待方式 结论 错误1 错误2 错误3 错误3.1 其它 最后来个小工具 vue-router push的实现 w ...

  5. android 虚拟返回键功能_Android返回键功能的实现方法

    本文实例讲述了Android返回键功能的实现方法.分享给大家供大家参考.具体如下: 在开发android应用时,常常通过按返回键(即keyCode == KeyEvent.KEYCODE_BACK)就 ...

  6. android点击按钮打开自带浏览器,android – 如何在默认浏览器或webview中打开按钮单击URL...

    如何在单击按钮后在Webview或默认浏览器中打开网址?目前,当我点击btn1按钮时,它会提示我从手机中选择一个浏览器.我想在默认浏览器或webview中打开此URL. 这是我的java代码: pub ...

  7. Android 点击按钮带有震动效果,使用Vibrator

    Vibrator 振动器,是手机自带的振动器哦,不要想成岛国用的那种神秘东西哦~~ Vibrator是Android给我们提供的用于机身震动的一个服务哦 更多详情可见官方API文档:Vibrator ...

  8. android 点击按钮来回切换图片

    android 点击切换图片 适合初学者,没什么好说的,很简单,不过方法我觉得挺精妙的. 1.添加图片 气死我了,选下面那个会报错(好像是因为分辨率太高(?)还是像素太高,忘了) activity_m ...

  9. IOS 页面跳转问题:点击按钮页面不跳转

    问题:每次运行模拟器进入(登录页面->我的页面->注销)没有问题,但是注销后回到登录页面,再点击登录就没有反应了. AppDelegate: LoginViewController *lo ...

最新文章

  1. 《软件设计精要与模式》第二版源代码
  2. python绘制动态模拟图-如何利用Python动态模拟太阳系运转
  3. 百度超级链XChain(4)核心数据结构
  4. maven实现多模块热部署
  5. python图像卷积_图像处理——卷积原理、二维卷积python实现
  6. 系统查找存储过程和触发器
  7. vsftp不同帐号的目录和权限
  8. CentOS6.6 32位 Minimal版本纯编译安装Nginx Mysql PHP Memcached
  9. Flutter diff: /../Podfile.lock: No such file or directory AndroidStudio上的解决
  10. VDN For PB Web实现消息推送
  11. 基于UML的人事管理系统
  12. python的metaclass分析
  13. 可用于龙芯2F Debain6 vim编辑器下的c/c++ IDE集成开发环境
  14. 学习《医学三字经白话解》之咳嗽+疟疾+痢证
  15. Windows11显示网速
  16. 南宁领取房产证流程以及寻找房产评估公司的方法
  17. 我的团长我的团第四十三集
  18. 音乐播放器补充1video值:currentTime,duration
  19. 面部识别软件可以帮助女性找到看起来像他们的卵子捐赠者
  20. sonar入门:全网最全的概念解析与安装

热门文章

  1. 马士兵 oracle seton,马士兵Oracle 下
  2. 加利福尼亚大学圣地亚哥分校计算机科学专业,美国加州大学伯克利分校计算机专业排名一览...
  3. Project与office 365冲突问题
  4. response响应讲解
  5. win10防火墙推荐设置来保护计算机,win10提示windows防火墙没有法更改某些设置如何办?...
  6. 作业——机器学习教你预测商品销售额
  7. 福昕阅读器常用快捷键
  8. 大促场景系统稳定性保障实践经验总结
  9. 彩色图像自动色阶调整和自动对比度调整
  10. 2013年图灵奖--莱斯利·兰波特简介