android 在特殊应用的特殊功能,以帮助通信系统的问题
在实际工程中的应用,进入一个特殊的应用后,系统的某个功能不能起作用。
当然,这个通信有非常多办法能够做到。笔者能够想到的至少有例如以下几种
1、利用property熟悉来实现,这种话须要添加一个特殊的属性;
2、利用数据库。在数据库中加一条记录,进入应用的时候设置一下。在系统部分能够利用content observer或者在特殊事件来的时候先推断读取一下这个值也能够。
3、利用intent,发一个特殊的intent出来,在系统这边装一个filter;
4、利用getRunningTasks,也就是activities service的执行信息来推断;
笔者比較上面这四种,实现都是能够实现的,可是利用现有系统的一些信息来解决问题不是更好嘛!所以笔者选择方案4.也就是做一个接口。在该接口里面推断这个特殊的应用是不是在最前台了。这一点还是非常实用。简单代码例如以下:
public boolean judgeTopActivityIsReverseVideo(int status){
String topActivityClassName=null;
if(am == null)
am =(ActivityManager)(mContext.getSystemService(mContext.ACTIVITY_SERVICE )) ;
List<RunningTaskInfo> runningTaskInfos = am.getRunningTasks(1);
if(runningTaskInfos != null){
ComponentName f=runningTaskInfos.get(0).topActivity;
topActivityClassName=f.getClassName();
}
//Slog.d(TAG, "####topActivityClassName: "+topActivityClassName);
if (topActivityClassName!=null&&topActivityClassName.startsWith("com.softwinner.reversevideo.ReverseVideo"))
{
if(1 == status)
mReverseVideoAppEnter = true;/*In apk, reverse video comming*/
else
mReverseVideoAppEnter = false;/*In apk, reverse video outgoing*/
return true;
} else if(true == mReverseVideoAppEnter){
/*Enter ReverseVideo apk, reverse video signal comming,then press BACK/HOME key, apk exit,
but reverse video signal not exit, so we need a flag note this special status*/
mReverseVideoAppEnter = false;
return true;
}
return false;
}
我通过实践的检验,这种方法完全可行。
版权声明:本文博客原创文章。博客,未经同意,不得转载。
android 在特殊应用的特殊功能,以帮助通信系统的问题的更多相关文章
- 【转】Android NFC学习笔记
一:NFC的tag分发系统 如果想让android设备感应到NFC标签,你要保证两点 1:屏幕没有锁住 2:NFC功能已经在设置中打开 当系统检测到一个NFC标签的时候,他会自动去寻找最合适的acti ...
- Android通过JNI调用驱动程序(完全解析实例)
要达到的目的:android系统中,用JAVA写界面程序,调用jni中间库提供的接口,去操作某个驱动节点,实现read,writer ioctl等操作!这对底层驱动开发人员是很重要的一个调试通道,也是 ...
- 【转】Android通过JNI调用驱动程序(完全解析实例)
原文网址:http://blog.csdn.net/ok138ok/article/details/6560875 要达到的目的:android系统中,用JAVA写界面程序,调用jni中间库提供的接口 ...
- logcat日志文件
android日志系统提供了记录和查看系统调试信息的功能,日志都是从各个软件和一些系统的缓冲区中记录下来的,缓冲区可以通过logcat命令来进行查看和使用 开发者选项,有个选项叫做“日志记录器缓冲区大 ...
- adb 之日志文件分析(五)
一,logcat日志文件 1,addroid日志系统提供了记录和查看系统调试信息的功能,日志都是从各种软件和一些系统的缓冲区(内存)中记录下来的,缓冲区可以通过logcat命令来查看和使用 2,在开发 ...
- Android开发App工程结构搭建
本文算是一篇漫谈,谈一谈关于android开发中工程初始化的时候如何在初期我们就能搭建一个好的架构. 关于android架构,因为手机的限制,目前我觉得也确实没什么大谈特谈的,但是从开发的角 ...
- android音视频点/直播模块开发
音视频 版权声明:本文为博主原创文章,未经博主允许不得转载. 前言 随着音视频领域的火热,在很多领域(教育,游戏,娱乐,体育,跑步,餐饮,音乐等)尝试做音视频直播/点播功能,那么作为开发一个小白, ...
- Android 客户端应用开发的架构
本文算是一篇漫谈,谈一谈关于android开发中工程初始化的时候如何在初期我们就能搭建一个好的架构.关于android架构,因为手机的限制,目前我觉得也确实没什么大谈特谈的,但是从开发的角度,看到整齐 ...
- Android性能优化典范(二)
Google前几天刚发布了Android性能优化典范第2季的课程,一共20个短视频,包括的内容大致有:电量优化,网络优化,Wear上如何做优化,使用对象池来提高效率,LRU Cache,Bitmap的 ...
随机推荐
- SQL中on条件与where条件的区别(转载)
数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户. 在使用left jion时,on和where条件的区别如下: 1. on条件是在生成临时表时使用的条 ...
- [课堂实践与项目]NavigationController与TabBarController的综合使用及易错点分析(包含消息提醒,app更新)
陈述:我们在使用tabbarController的时候,我们总会和NavagationController联合起来.但是不联合的时候又是什么样的一种pool的情况呢?我们就单单的 TabBarCont ...
- zoj1028-Flip and Shift
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=28 题意:有相互交叉的黑白两种颜色的小球,每一个小球每次可以跳两格:问你是否可以 ...
- HBase数据存储格式
好的数据结构,对于检索数据,插入数据的效率就会很高. 常见的数据结构 B+树 根节点和枝节点非常easy,分别记录每一个叶子节点的最小值,并用一个指针指向叶子节点. 叶子节点里每一个键值都指向真正的 ...
- Mybatis 数据库物理分页插件 PageHelper
以前使用ibatis/mybatis,都是自己手写sql语句进行物理分页,虽然稍微有点麻烦,但是都习惯了.最近试用了下mybatis的分页插件 PageHelper,感觉还不错吧.记录下其使用方法. ...
- 从response.header中提取cookie,在request里添加cookie
// List<String> resp = new ArrayList<String>(); // HeaderIterator headers ...
- 谈谈Ext JS的组件——布局的用法续二
绝对布局(Ext.layout.container.Absolute) 绝对布局让我回忆到了使用Foxpro开发的时候,哪时候的界面布局就是这样.通过设置控件的左上角坐标(x.y)和宽度来进行的,由于 ...
- libevent简单分析
一看名字就知道是围绕eventloop转的. 那首先肯定是eventloop是个什么?一般都是IO事件,timer事件的管理器. 那首先看如何new出来一个eventloop: 1.因为libeven ...
- 注册Dev的帮助文件
Download the CHM files from… Code: https://www.devexpress.com/Support/Documentation/download.xml?pla ...
- setStyleSheet来设定窗口部件的样式
使用setStyleSheet来设置图形界面的外观:QT Style Sheets是一个很有利的工具,允许定制窗口的外观,此外还可以用子类QStyle来完成,他的语法很大比重来源于html的CSS,但 ...