android开发-android中如何对app图标进行点击事件的监听?也就是一键锁屏的效果

问题描述

android中如何对app图标进行点击事件的监听?也就是一键锁屏的效果
如题,android中如何对app图标进行点击事件的监听,也就是类似一键锁屏的功能,一点图片就可以响应

解决方案

 本文演示如何在Android中实现程序前后台切换效果。

  在介绍程序实现之前,我们先看下Android中Activities和Task的基础知识。

  我们都知道,一个Activity 可以启动另一个Activity即使这个Activity是定义在别一个应用程序里的,比如说,想要给用户展示一个地图的信息,现在已经有一个Activity可以做这件事情,那么现在你的Activity需要做的就是将请求信息放进一个Intent对象里,并且将这个Intent对象传递给startActivity()那么地图就可显示出来了,但用户按下Back键之后,你的Activity又重新出现在屏幕上。

  对用户来讲,显示地图的Activity和你的Activity好像在一个应用程序中的,虽然是他们是定义在其他的应用程序中并且运行在那个应有进程中。Android将你的Activity和借用的那个Activity被放进一个Task中以维持用户的体验。那么Task是以栈的形式组织起来一组相互关联的Activity栈中底部的Activity就是开辟这个Task的,通常是用户在应用程序启动器中选择的Activity。栈的顶部的Activity是当前正在运行的Activity--用户正在交互操作的Activity。

  当一个Activity启动另一个Activity时,新启动的Activity被压进栈中,成为正在运行的Activity。旧的Activity仍然在栈中。当用户按下BACK键之后,正在运行的Activity弹出栈,旧的Activity恢复成为运行的Activity。栈中包含对象,因此如果一个任务中开启了同一个Activity子类的的多个对象——例如,多个地图浏览器——则栈对每一个实例都有一个单独的入口。栈中的Activity不会被重新排序,只会被、弹出。Task是一组Activity实例组成的栈,不是在manifest文件里的某个类或是元素,所以无法设定一个Task的属性而不管它的Activity,一个Task的所有属性值是在底部的Activity里设置的,这就需要用于Affinity。关于Affinity这里不再详述,大家可以查询文档。

  一个Task里的所有Activity作为一个整体运转。整个Task(整个Activity堆栈)可以被推到前台或被推到后台。假设一个正在运行的Task中有四个Activity——正在运行的Activity下面有三个Activity,这时用户按下HOME键,回到应有程序启动器然后运行新的应用程序(实际上是运行了一个新的Task),那么当前的Task就退到了后台,新开启的应用程序的root Activity此时就显示出来了,一段时间后,用户又回到应用程序器,又重新选择了之前的那个应用程序(先前的那个Task),那么先前的那个Task此时又回到了前台了,当用户按下BACK键时,屏幕不是显示刚刚离开的那个新开启的那个应用程序的Activity,而是被除回到前台的那个Task的栈顶Activity,将这个Task的下一个Activity显示出来。 上述便是Activity和Task一般的行为,但是这个行为的几乎所有方面都是可以修改的。Activity和Task的关系,以及Task中Activity的行为,是受启动该Activity的Intent对象的标识和在manifest文件中的Activity的元素的属性共同影响的。

  以上是关于Activity和Task的描述。

  在开发Android项目时,用户难免会进行程序切换,在切换过程中,程序将进入后台运行,需要用时再通过任务管理器或是重新点击程序或是通过点击信息通知栏中的图标返回原来的界面。这种效果类似于腾讯QQ的效果,打开QQ后显示主界面,在使用其他的程序时,QQ将以图标的形式显示在信息通知栏里,如果再用到QQ时再点击信息通知栏中的图标显示QQ主界面。

解决方案二:
http://www.cnblogs.com/hanyonglu/archive/2012/04/15/2450551.html

解决方案三:
我的思路是在主界面添加appwidget,点击该appwidget,执行锁屏

时间: 2024-10-30 20:00:48

android开发-android中如何对app图标进行点击事件的监听?也就是一键锁屏的效果的相关文章

Android开发之PullToRefresh的Click点击事件的监听实现长按删除Item

本文为原创博客,出自http://blog.csdn.net/minimicall 到今天为止,搜芽的卖家版本应该来说已经基本完成,攻坚克难的一路过来.速度也控制的比较好. 项目过程进度 从任务分配量上来看,基本还是我个人英雄主义.接下来这样不行.但暂时也没办法,师弟还需要一个学习的过程.智质不错,而且态度端正.相信搜芽买家,他就可以承担更多的开发任务了. 接下来进入正题,说我们的PullToRefresh的点击事件.其实,我是想做长按进入删除的. 见效果图.当然这个是我做出来之后的了,但做出来

android开发 widget中可以启动service 吗,我在onupdate 启动服务,没反应

问题描述 android开发 widget中可以启动service 吗,我在onupdate 启动服务,没反应 10C @Override public void onUpdate(Context context AppWidgetManager appWidgetManager int[] appWidgetIds) { System.out.println(""545454554""); context.startService(new Intent(conte

imageview-关于android开发ImageView中的图片进行图形标记的添加处理

问题描述 关于android开发ImageView中的图片进行图形标记的添加处理 关于android开发,对ImageView中的图片进行图形标记的添加处理.如果有实例说明请列举一下,谢谢!急!急!急! 解决方案 问题不明白什么意思?可否说清楚点?或者给张图片示意一下. 解决方案二: 是"ImageView右下角有一个小图标,可以对小图标进行操作"的意思吗?

button点击事件-Android开发listView中的Button点击事件被拦截

问题描述 Android开发listView中的Button点击事件被拦截 根据http://blog.csdn.net/boylinux/article/details/8860443 这位大神的帖子,我的代码如下,现在的问题是Listview中的Button和imageview和textview控件点击之后不会响应,而在滑动一下Listview后,之前的点击事件才会响应,导致这个问题的原因不明,但是如果不用HashMap这个MAP的话,就不会有这个问题,请问大神们这是为什么呢?代码如下: p

OpenGL ES 在 Android 开发库中 - 能不能再牛点儿

OpenGL ES 在 Android 开发库中 - 能不能再牛点儿 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. Android 开发库中突然发现这些个东西,原来和原生的函数名一模一样,而且

android开发-Android开发怎么实现退出客户端后也能点击屏幕顶端(状态栏位置)启动一个特定的应用程序

问题描述 Android开发怎么实现退出客户端后也能点击屏幕顶端(状态栏位置)启动一个特定的应用程序 想要实现退出客户端后也能点击屏幕顶端(状态栏位置)启动一个特定的应用程序,这个app怎么做?主要是实现不了退出应用程序后也能监听点击事件,以及service怎么响应该点击事件,跪求大神. 解决方案 如果退出程序还需要监控的话,就需要捕捉系统的通知了 以下代码是android 判断点击的位置是不是在指定的view上修改为判断点击的位置是不是在状态栏上,如果是的话,就执行指定的操作private b

android开发-Android开发入门初学遇到的问题

问题描述 Android开发入门初学遇到的问题 Android开发入门学习,使用的是<第一行代码Android>郭霖著在学习至2.2.5 在活动中使用Toast中产生如下疑问,期待各位前辈帮我解答图中为输入的代码 问题1.书中原话是可以通过findViewById()方法获取到在布局文件中定义的元素,这里我们传入R.id.button 1,来得到按钮的实例,这里的按钮的实例是什么意思能否麻烦详细解释一下. 问题2.书中说findViewById()返回的是一个View对象,我们需要向下转型将它

Android一键锁屏开发全过程

一.项目简介: 项目:<Android 一键锁屏> 开发周期:4天 代码量:100行 ------------------------ 二.项目流程:   001 三.项目代码 002 1.主程序代码: 003 Java代码  004 private DevicePolicyManager policyManager;  005 private ComponentName componentName;  006     007 @Override  008 protected void onC

android中在Activity中响应ListView内部按钮的点击事件的两种方法_Android

最近交流群里面有人问到一个问题:如何在Activity中响应ListView内部按钮的点击事件,不要在Adapter中响应? 对于这个问题,我最初给他的解答是,在Adapter中定义一个回调接口,在Activity中实现该接口,从而实现对点击事件的响应. 下班后思考了一下,觉得有两种方式都能比较好的实现:使用接口回调和使用抽象类回调. 正好可以复习一下接口和抽象类的区别,于是写了两个Demo: 1.使用接口回调: Adapter类 package com.ivan.adapter; import