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;
	   }

     通过笔者的测试实践,该方法完全可行。

目录
相关文章
|
15天前
|
缓存 Java Shell
Android 系统缓存扫描与清理方法分析
Android 系统缓存从原理探索到实现。
40 15
Android 系统缓存扫描与清理方法分析
|
6天前
|
JSON Java Android开发
探索安卓开发之旅:打造你的第一个天气应用
【10月更文挑战第30天】在这个数字时代,掌握移动应用开发技能无疑是进入IT行业的敲门砖。本文将引导你开启安卓开发的奇妙之旅,通过构建一个简易的天气应用来实践你的编程技能。无论你是初学者还是有一定经验的开发者,这篇文章都将成为你宝贵的学习资源。我们将一步步地深入到安卓开发的世界中,从搭建开发环境到实现核心功能,每个环节都充满了发现和创造的乐趣。让我们开始吧,一起在代码的海洋中航行!
|
6天前
|
算法 JavaScript Android开发
|
6天前
|
存储 搜索推荐 Java
打造个性化安卓应用:从设计到实现
【10月更文挑战第30天】在数字化时代,拥有一个个性化的安卓应用不仅能够提升用户体验,还能加强品牌识别度。本文将引导您了解如何从零开始设计和实现一个安卓应用,涵盖用户界面设计、功能开发和性能优化等关键环节。我们将以一个简单的记事本应用为例,展示如何通过Android Studio工具和Java语言实现基本功能,同时确保应用流畅运行。无论您是初学者还是希望提升现有技能的开发者,这篇文章都将为您提供宝贵的见解和实用的技巧。
|
8天前
|
安全 搜索推荐 Android开发
揭秘安卓与iOS系统的差异:技术深度对比
【10月更文挑战第27天】 本文深入探讨了安卓(Android)与iOS两大移动操作系统的技术特点和用户体验差异。通过对比两者的系统架构、应用生态、用户界面、安全性等方面,揭示了为何这两种系统能够在市场中各占一席之地,并为用户提供不同的选择。文章旨在为读者提供一个全面的视角,理解两种系统的优势与局限,从而更好地根据自己的需求做出选择。
23 2
|
10天前
|
搜索推荐 开发工具 Android开发
打造个性化Android应用:从设计到实现的旅程
【10月更文挑战第26天】在这个数字时代,拥有一个能够脱颖而出的移动应用是成功的关键。本文将引导您了解如何从概念化阶段出发,通过设计、开发直至发布,一步步构建一个既美观又实用的Android应用。我们将探讨用户体验(UX)设计的重要性,介绍Android开发的核心组件,并通过实际案例展示如何克服开发中的挑战。无论您是初学者还是有经验的开发者,这篇文章都将为您提供宝贵的见解和实用的技巧,帮助您在竞争激烈的应用市场中脱颖而出。
|
12天前
|
算法 Java 数据库
Android 应用的主线程在什么情况下会被阻塞?
【10月更文挑战第20天】为了避免主线程阻塞,我们需要合理地设计和优化应用的代码。将耗时操作移到后台线程执行,使用异步任务、线程池等技术来提高应用的并发处理能力。同时,要注意避免出现死循环、不合理的锁使用等问题。通过这些措施,可以确保主线程能够高效地运行,提供流畅的用户体验。
25 2
|
16天前
|
Java API Android开发
安卓应用程序开发的新手指南:从零开始构建你的第一个应用
【10月更文挑战第20天】在这个数字技术不断进步的时代,掌握移动应用开发技能无疑打开了一扇通往创新世界的大门。对于初学者来说,了解并学习如何从无到有构建一个安卓应用是至关重要的第一步。本文将为你提供一份详尽的入门指南,帮助你理解安卓开发的基础知识,并通过实际示例引导你完成第一个简单的应用项目。无论你是编程新手还是希望扩展你的技能集,这份指南都将是你宝贵的资源。
44 5
|
7天前
|
安全 搜索推荐 程序员
深入探索Android系统的碎片化问题及其解决方案
在移动操作系统的世界中,Android以其开放性和灵活性赢得了广泛的市场份额。然而,这种开放性也带来了一个众所周知的问题——系统碎片化。本文旨在探讨Android系统碎片化的现状、成因以及可能的解决方案,为开发者和用户提供一种全新的视角来理解这一现象。通过分析不同版本的Android系统分布、硬件多样性以及更新机制的影响,我们提出了一系列针对性的策略,旨在减少碎片化带来的影响,提升用户体验。
|
7天前
|
安全 Android开发 iOS开发
深入探索iOS与Android系统的差异性及优化策略
在当今数字化时代,移动操作系统的竞争尤为激烈,其中iOS和Android作为市场上的两大巨头,各自拥有庞大的用户基础和独特的技术特点。本文旨在通过对比分析iOS与Android的核心差异,探讨各自的优势与局限,并提出针对性的优化策略,以期为用户提供更优质的使用体验和为开发者提供有价值的参考。
下一篇
无影云桌面