305_启动服务防止app劫持

2023-11-08





启动服务防止app劫持




app劫持就是某个应用来监测我们的app的动态
当我们比如启动了某个需要输入密码的界面比如登录,支付这种敏感界面


这个流氓应用就启动一个activity来覆盖我们的activity
这样我们就可能把密码输入到流氓应用里面去了




所以我们要启动一个service
来监测我们的app的状态
当我们app是运行的,但是现在系统的首个activity不是我们的应用的时候
就进行提示








先创建服务


public class PreventKidnapService extends Service {
    @Nullable
    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }


    @Override
    public void onCreate() {
        super.onCreate();
        handler.sendEmptyMessage(0);
    }


    private Handler handler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            //获取管理器和进程列表
            ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
            List<ActivityManager.RunningAppProcessInfo> appList = manager.getRunningAppProcesses();


            //遍历进程列表,找到应用进程
            if (appList != null && !appList.isEmpty()) {
                for (ActivityManager.RunningAppProcessInfo app : appList) {
                    if (app.processName.equals(getPackageName())) {


                        //判断app处于前台还是后台
                        if (app.importance != ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
                            //处于后台
                        } else {
                            //处于前台
                        }
                    }
                }
            }
            
            //循环监测
            sendEmptyMessageDelayed(0, 5000);
        }
    };
}




要在androidmanifest里面注册一下
<service android:name=".service.PreventKidnapService"></service>






在application里面启动服务
startService(new Intent(this, PreventKidnapService.class));




在程序终止的时候去停止服务
    @Override
    public void onTerminate() {
        super.onTerminate();
        stopService(new Intent(this, PreventKidnapService.class));
    }





本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

305_启动服务防止app劫持 的相关文章

  • 在 Play 应用程序中启动时调用服务

    我有一个 Play 2 4 应用程序 尝试在应用程序启动时启动每周任务 当前的建议是在急切注入的类的构造函数中执行此操作 Guice 但是 我的任务需要访问服务 如何将该服务注入到我的任务中而不出现错误 Error injecting co
  • Android 在来电时关闭媒体服务

    我对 android 和 java 真的很陌生 我正在制作一个应用程序 它有一个媒体服务 我希望媒体在来电时停止或暂停 这是我的媒体服务代码 公共类 ServiceMusic 扩展服务 MediaPlayer music Override
  • 在 Android 中检测传入电子邮件通知

    android 中有传入电子邮件时我们可以检测到通知吗 有什么解决方案 教程或示例代码我可以尝试吗 Thanks 尝试实现NotificationListenerService 这是官方文档https developer android c
  • 如何绑定到正在运行的android服务?

    我希望这更多的是代码问题 而不是其他问题 我希望有人可以帮助解决这个问题 我还有其他使用 startService 启动服务的代码 并且当调试器点击 DecoderService 的 onCreate 函数时 我可以验证该服务是否已启动 但
  • PhoneStateListener onSignalStrengthsChanged 停止在 Service 中调用

    我正在编写包含两个元素的简单应用程序 服务和活动 活动仅用于启动和停止服务 服务用途PhoneStateListener获取有关当前 CellID LAC 和 RSSI 信号强度 的信息并将其记录到文件中 当手机未休眠时一切正常 我注意到
  • Angular2 - 多个依赖的顺序 http api 调用

    我正在构建一个 Angular2 应用程序 其中一个组件需要进行多个 API 调用 这些调用依赖于之前的调用 我目前有一项服务可以调用 API 来获取电视节目列表 对于每个节目 我需要多次调用不同的 API 来逐步检查该结构 以确定该节目是
  • 在 Windows Server 2008 上安装 Tomcat 7 作为服务

    我想将 tomcat v7 0 12 作为服务安装在 Windows 2008 Server 上 在tomcat页面上我发现本教程 http tomcat apache org tomcat 7 0 doc windows service
  • 作为 Windows 服务运行时的 PCSC.InvalidContextException

    我一直在使用 pcsc sharp 库开发一个小型智能卡扫描仪应用程序 该应用程序作为控制台应用程序运行时工作正常 代码如下 using System using System Collections Generic using Syste
  • 如何查看定位服务是否开启?

    如何检查用户是否关闭了定位服务 这样我就可以提示他 她打开它才能使用我的应用程序 谢谢 The CLLocationManager提供类方法来确定位置服务的可用性 BOOL locationServicesEnabled for lt iO
  • Robocopy 将文件复制到远程计算机

    我正在尝试编写一个 robocopy 命令将文件从本地计算机复制到任何一台部署服务器 ROBOCOPY MyService bin release remote computer C services myservice MIR 我收到这个
  • 启动时启动服务但不进行任何活动

    我想创建一个仅包含服务 无活动 的应用程序 该服务必须在启动时启动 我的问题是 如果没有活动 启动接收器似乎不会调用 我用下面的例子进行了测试 我有不同的文件 MyReceiver java package com test teststa
  • aSmack 即服务

    基本上我有一个运行整个项目的主类 该代码运行完美 尽管一旦应用程序失去焦点 它就会变得不活动 我想知道如何将其变成一项服务 一个会在启动时启动的 该应用程序将是一个用于通知的单向消息系统 IE 桌面客户端 gt Openfire 服务器 g
  • 无法从 AsyncTask 启动服务

    我正在尝试从 AsyncTask 启动服务 但看不到它的启动 我还在清单文件中添加了服务 这里是代码 protected Integer doInBackground Void values throws InterruptedExcept
  • Silverlight WCF服务跨域问题

    我有一个 silverlight 应用程序 托管在 Intranet mydomain net 和一个 WCF 服务 webservices mydomain net 我需要跨站点策略文件吗 如果是这样 只允许从 Intranet mydo
  • 如何在视图中调用 Grails 服务?

    简单的问题 我有一个服务类 比方说helpersService 和一个方法def constructURI params 如何从模板视图调用此方法 我尝试了以下代码但没有成功 img src 但我得到以下结果 No signature of
  • SC创建binpath错误

    我正在尝试在 PowerShell 中运行以下命令 sc create StrongSwan binpath C Users Kanishk Desktop Strong Strong stronswan strongswan 5 6 3
  • 服务作为 SOA 中的中介

    我知道什么是 通常的 中介设计模式 维基百科中有一些描述 http en wikipedia org wiki Mediator pattern http en wikipedia org wiki Mediator pattern 在我的
  • C# 构建一个 webservice 方法,它接受 POST 方法,如 HttpWebRequest 方法

    我需要一个接受 POST 方法的 Web 服务 访问我的服务器正在使用 POST 方法 它向我发送了一个 xml 我应该用一些 xml 进行响应 另一方面 当我访问他时 我已经使用 HttpWebRequest 类进行了管理 并且工作正常
  • Symfony2 条件服务声明

    我目前正在尝试找到一个可靠的解决方案来动态更改 Symfony2 服务的依赖关系 详细信息 我有一个服务 它使用 HTTP 驱动程序与外部 API 进行通信 class myAwesomeService private httpDriver
  • 将 jar 作为 Linux 服务运行 - init.d 脚本在启动应用程序时卡住

    我目前正在致力于在 Linux VM 上实现一个可运行的 jar 作为后台服务 我已经使用了找到的例子here https gist github com shirish4you 5089019作为工作的基础 并将 start 方法修改为

随机推荐

  • TD联合Modelsim进行功能仿真

    TD联合Modelsim进行功能仿真 1 引言 2 基本配置流程 2 1 TD软件设置操作 2 2 Modelsim软件方面设置 1 引言 最近在接触使用国产安路科技公司的FPGA进行相关的开发 TD Tang Dynasty 作为一款安路
  • 项目研发心得总结

    前言 近期因学校实验室项目需求 组建6人小团队研发一个网站 框架采用 NET MVC EF 数据库为SQL Server 简单总结一二 一 数据库设计方面 网站的根基 数据库 最开始源自于和甲方进行需求沟通 由于甲方节奏较缓慢 在未完全确定
  • 用certutil 注册根证书到nss/firefox

    环境 Centos 6 5 certutil 参数 所有命令可参见系统自带帮助 通俗易懂 certutil 选项 参数 root localhost lftshell certutil H A Add a certificate to th
  • e5服务器系列天梯图,至强e5系列cpu天梯图_2020年5月至强e5天梯图排行

    CPU的种类多种多样 性能也不尽相同 有很多朋友都非常关注cpu市场的情况 因为一款CPU性能的好坏 决定了我们电脑的运算能力高低 今天我们主要关注的是英特尔e5系列cpu 为了直观对比e5系列cpu的性能情况 我们可以参考至强e5系列cp
  • int *p = NULL 和*p = NULL 有什么区别

    int p NULL 和p NULL 有什么区别 int p NULL 这时候我们可以通过编译器查看p 的值为0x00000000 这句代码的意思是 定义一个指针变量p 其指向的内存里面保存的是int 类型的数据 在定义变量p 的同时把p
  • springboot整合mybatis-plus,代码自动生成

    Mybatis Plus 简称MP 是一个 Mybatis 的增强工具 在 Mybatis 的基础上只做增强不做改变 为简化开发 提高效率而生 特性 无侵入 Mybatis Plus 在 Mybatis 的基础上进行扩展 只做增强不做改变
  • win11绕过硬件限制的方法

    升级win11有硬件配置要求 所以这让很多硬件设施不合格 又懒的换硬件 还想体验win11新系统的用户很头疼 其中就有Windows11当前不支持该处理器的问题 但这不能说明配置低的电脑就完全失去机会了 绕开微软限制的要求 安装上win11
  • [转]信息安全相关理论题(四)

    26 表示邮件服务器返回代码为临时性失败 xx代表任意数 A 2xx B 3xx C 4xx D 5xx 您的答案 标准答案 C 27 买家称购买商品异常后的正确操作是立即咨询官方客服 A 正确 B 错误 您的答案 标准答案 A 28 网上
  • i.mx287学习笔记10-带参内核模块、程序

    上面是我的微信和QQ群 欢迎新朋友的加入 1 带参程序 这里传递的是字符串 argc表示有几个参数要被传递 其中可执行文件本身也会当做一个参数 include stdio h int main int argc char argv int
  • 数据结构(线性表预习)

    1 基本概念 线性表 List 由零个或多个数据元素组成的有限序列 2 注意 1 线性表是一个序列 2 0个元素构成的线性表是空表 3 线性表中的第一个元素无前驱 最后一个元素无后继 其他元素有且只有一个前驱和后继 4 线性表是有长度的 其
  • 四则表达式的编译过程及生成汇编代码

    1 前序 这是编译原理的实验 自认为是上大学以来做过的最难的一个实验 所以写篇博客记录一下 实验用到的基础知识 C语言 数据结构 汇编 只需简单的了解 开发工具 VC 2 问题描述 编译整数四则运算表达式 将整数四则运算表达式翻译为汇编语言
  • GetDC

    目前win10下程序如果是每监视器dpi感知类型 GetDC获取某一个窗口的上下文时 获取的时96dpi值的像素坐标 逻辑英寸 这个API应该还没有dpi感知上下文 建议获取整个屏幕的DC
  • frp内网穿透详细教程

    前言 frp内网穿透是一个比较方便 快捷的配置 使用也是比较人性化 下面简单介绍下实现过程 配置分服务端和本地端 一 阿里服务端配置 1 1 获取frp的安装包 获取安装包 提取链接 下载frp 0 44 0 linux amd64 tar
  • Android Studio总是依赖最新版本的库文件的方式

    依赖最新版本的方式 例如 implementation com google ar core latest release 关键是冒号后边的latest release PS 不太推荐这种方式来依赖第三方库 第一是提交CI编译时徒增编译时间
  • 利用clang提供的库函数进行c语言常规错误的检测

    前言 感觉很多事情不做就一直不会去做了 在学校的 科创 活动要求下 不得不尝试发论文 但我觉得我跟同学做的东西还是比较适合做Demo 为其他刚开始接触这个工具的童鞋提供参考 正文 继续在ubuntu中进行操作 一共进行三项检测 1 除零检验
  • 解决微信小程序报[ app.json 文件内容错误] app.json app.json 未找到,未找到入口 app.json 文件,或者文件读取失败,请检查后重新编译。小程序app.json报错

    编译报错 app json 文件内容错误 app json app json 未找到 原因 由于project config json文件的miniprogramRoot小程序根目录属性找不到aap json的路径 可能是错误的路径 也可能
  • SAP系统与MES系统的数据协同技术方案

    1 MES介绍 本文中提到的MES系统是在西门子公司的SIMATIC IT平台上开发完成 所有的应用子系统进行统一分析 统一设计 统一开发 利用统一的开发平台和数据库系统 保证了管理系统的集成性 高效性 2 数据协同接口包含的内容 在ERP
  • 【AI with ML】第 2 章 :计算机视觉简介

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • 华为OD机试真题- 非严格递增连续数字序列-2023年OD统一考试(B卷)

    题目描述 输入一个字符串仅包含大小写字母和数字 求字符串中包含的最长的非严格递增连续数字序列的长度 比如12234属于非严格递增连续数字序列 输入描述 输入一个字符串仅包含大小写字母和数字 输入的字符串最大不超过255个字符 输出描述 最长
  • 305_启动服务防止app劫持

    启动服务防止app劫持 app劫持就是某个应用来监测我们的app的动态 当我们比如启动了某个需要输入密码的界面比如登录 支付这种敏感界面 这个流氓应用就启动一个activity来覆盖我们的activity 这样我们就可能把密码输入到流氓应用