怎么在Android应用中实现一个全局返回功能-创新互联

这篇文章给大家介绍怎么在Android应用中实现一个全局返回功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

虞城ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:028-86922220(备注:SSL证书合作)期待与您的合作!

思路

废话不多说了,说说主要的思路吧,关键的一个类就是:AccessibilityService,官方文档地址,这个类与手机里面的一个功能密切相关:辅助功能-服务。官方文档来看,这个功能是为了方便有障碍的人士更好的使用手机。我们这里就不展开介绍里面的API了,为了实现我们的全局返回功能,我们只需要使用一个函数即可:boolean performGlobalAction (int action),官方解释如下:

Performs a global action. Such an action can be performed at any moment regardless of the current application or user location in that application. For example going back, going home, opening recents, etc.

翻译过来就是:

执行全局动作。无论该应用程序中的当前应用程序或用户位置如何,都可以随时执行此类操作。例如执行HOME键,BACK键,任务键等

其中可以传入的参数有四个:

  1. GLOBAL_ACTION_BACK
  2. GLOBAL_ACTION_HOME
  3. GLOBAL_ACTION_NOTIFICATIONS
  4. GLOBAL_ACTION_RECENTS

从字面就可以理解,我们返回功能需要的就是GLOBAL_ACTION_BACK。所以我们只需要开启服务,调用函数就可以实现全局返回功能了。

编写代码

最重要的服务类

我们要新建一个类去继承自上面那个类:

public class MyAccessibilityService extends AccessibilityService {
 public static final int BACK = 1;
 public static final int HOME = 2;
 private static final String TAG = "ICE";

 @Override
 public void onCreate() {
 super.onCreate();
 //使用EventBus代替广播
 EventBus.getDefault().register(this);
 }

 @Override
 public void onAccessibilityEvent(AccessibilityEvent event) { }

 @Override
 public void onInterrupt() {}

 @Subscribe
 public void onReceive(Integer action){
 switch (action){
 case BACK:
 performGlobalAction(AccessibilityService.GLOBAL_ACTION_BACK);
 break;
 case HOME:
 performGlobalAction(AccessibilityService.GLOBAL_ACTION_HOME);
 break;
 }
 }

}

当前题目:怎么在Android应用中实现一个全局返回功能-创新互联
文章位置:http://bzwzjz.com/article/dopges.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 营销网站建设 教育网站设计方案 成都网站建设公司 手机网站制作 成都网站制作公司 网站建设公司 高端网站设计 高端网站设计 企业网站制作 网站制作 网站建设方案 网站制作报价 网站建设 网站制作公司 高端网站设计推广 成都营销网站制作 网站设计 网站建设费用 定制网站制作 品牌网站建设 阿坝网站设计 营销型网站建设