安卓/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="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 点击按钮/返回键跳转返回到 手机系统桌面相关推荐
- js拦截物联返回键跳转到指定页面
js网页拦截物联返回键跳转到指定页面 <script type="text/javascript"> $(document).ready(function () {if ...
- Android 点击按钮切换图片
Android 点击按钮切换图片 效果如图: 点击后: 主要代码: //切换图片 but1.setBackgroundResource(R.drawable.qq1); 全部代码: public cl ...
- android点击按钮打开一个网页,Android实现H5点击打开app或跳转指定界面
Android实现H5点击打开app或跳转指定界面 本文原创,转载请注明出处.欢迎关注我的 简书. 安利一波我写的开发框架:MyScFrame喜欢的话就给个Star 场景 H5界面中的入口 有时候为了 ...
- 【前端】关于h5原生混合开发,安卓返回键及侧滑返回 popstate的处理。
文章目录 背景 跳转方式: 全部使用方式一:push 全部使用方式二:replace 期待方式 结论 错误1 错误2 错误3 错误3.1 其它 最后来个小工具 vue-router push的实现 w ...
- android 虚拟返回键功能_Android返回键功能的实现方法
本文实例讲述了Android返回键功能的实现方法.分享给大家供大家参考.具体如下: 在开发android应用时,常常通过按返回键(即keyCode == KeyEvent.KEYCODE_BACK)就 ...
- android点击按钮打开自带浏览器,android – 如何在默认浏览器或webview中打开按钮单击URL...
如何在单击按钮后在Webview或默认浏览器中打开网址?目前,当我点击btn1按钮时,它会提示我从手机中选择一个浏览器.我想在默认浏览器或webview中打开此URL. 这是我的java代码: pub ...
- Android 点击按钮带有震动效果,使用Vibrator
Vibrator 振动器,是手机自带的振动器哦,不要想成岛国用的那种神秘东西哦~~ Vibrator是Android给我们提供的用于机身震动的一个服务哦 更多详情可见官方API文档:Vibrator ...
- android 点击按钮来回切换图片
android 点击切换图片 适合初学者,没什么好说的,很简单,不过方法我觉得挺精妙的. 1.添加图片 气死我了,选下面那个会报错(好像是因为分辨率太高(?)还是像素太高,忘了) activity_m ...
- IOS 页面跳转问题:点击按钮页面不跳转
问题:每次运行模拟器进入(登录页面->我的页面->注销)没有问题,但是注销后回到登录页面,再点击登录就没有反应了. AppDelegate: LoginViewController *lo ...
最新文章
- 《软件设计精要与模式》第二版源代码
- python绘制动态模拟图-如何利用Python动态模拟太阳系运转
- 百度超级链XChain(4)核心数据结构
- maven实现多模块热部署
- python图像卷积_图像处理——卷积原理、二维卷积python实现
- 系统查找存储过程和触发器
- vsftp不同帐号的目录和权限
- CentOS6.6 32位 Minimal版本纯编译安装Nginx Mysql PHP Memcached
- Flutter diff: /../Podfile.lock: No such file or directory AndroidStudio上的解决
- VDN For PB Web实现消息推送
- 基于UML的人事管理系统
- python的metaclass分析
- 可用于龙芯2F Debain6 vim编辑器下的c/c++ IDE集成开发环境
- 学习《医学三字经白话解》之咳嗽+疟疾+痢证
- Windows11显示网速
- 南宁领取房产证流程以及寻找房产评估公司的方法
- 我的团长我的团第四十三集
- 音乐播放器补充1video值:currentTime,duration
- 面部识别软件可以帮助女性找到看起来像他们的卵子捐赠者
- sonar入门:全网最全的概念解析与安装
热门文章
- 马士兵 oracle seton,马士兵Oracle 下
- 加利福尼亚大学圣地亚哥分校计算机科学专业,美国加州大学伯克利分校计算机专业排名一览...
- Project与office 365冲突问题
- response响应讲解
- win10防火墙推荐设置来保护计算机,win10提示windows防火墙没有法更改某些设置如何办?...
- 作业——机器学习教你预测商品销售额
- 福昕阅读器常用快捷键
- 大促场景系统稳定性保障实践经验总结
- 彩色图像自动色阶调整和自动对比度调整
- 2013年图灵奖--莱斯利·兰波特简介