杀死另一个应用程序并清除其数据

2023-11-26

我正在开发一种工具,可以杀死选定的应用程序并清除其所有数据。有点模拟this我只有可用的包名称。


我不确定它是否有效,但你可以做的是获取应用程序的进程 ID 和你拥有的包名称,然后调用killProcess()以进程ID为参数的方法。

EDIT1:-好吧..忘记上面写的内容..我已经尝试过以下代码,它似乎对我有用。

ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
activityManager.killBackgroundProcesses(appProcessName);

您需要指定android.permission.KILL_BACKGROUND_PROCESSES在您的应用程序清单中获得许可,您就万事大吉了。

EDIT2:-以下代码段清除应用程序数据。但存在一个问题,它无法清除其他应用程序的数据,因为每个 Android 应用程序都在沙箱中运行,沙箱保护其数据不被从其范围之外访问。

public void clearApplicationData(String packageName) {
        File cache = getCacheDir();
        File appDir1 = new File(cache.getParent()).getParentFile();
        File appDir = new File(appDir1.getAbsolutePath() + "/" + packageName);
        if (appDir.exists()) {
            String[] children = appDir.list();
            for (String s : children) {
                if (!s.equals("lib")) {
                    deleteDir(new File(appDir, s));
                    Toast.makeText(this, "App Data Deleted", Toast.LENGTH_LONG)
                            .show();
                }
            }
        }
    }

public static boolean deleteDir(File dir) {
        if (dir != null && dir.isDirectory()) {
            String[] children = dir.list();
            for (int i = 0; i < children.length; i++) {
                boolean success = deleteDir(new File(dir, children[i]));
                if (!success) {
                    return false;
                }
            }
        }
        return dir.delete();
    }

可以使用以下方法更改文件的权限Process类和执行chmod命令通过它,但话又说回来,您需要作为该包的 shell 运行,这需要将应用程序设置为可调试的Android-Manifest file.

因此,最重要的是,清除其他应用程序的数据即使不是不可能,也是很困难的。

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

杀死另一个应用程序并清除其数据 的相关文章

  • Xamarin Android Webview Javascript

    我正在尝试通过 Xamarin for Android 创建一个移动应用程序 它有一个显示网站的 WebView 问题是正常按钮会触发 但 javascript 事件不会触发 我已经启用了 Javascript 但没有运气 如何在 Andr
  • 从响应中获取标头(Retrofit / OkHttp 客户端)

    我正在使用 Retrofit 与 OkHttp 客户端和 Jackson 进行 Json 序列化 并希望获取响应的标头 我知道我可以扩展 OkClient 并拦截它 但这发生在反序列化过程开始之前 我基本上需要的是获取标头以及反序列化的 J
  • Android Studio:XML 布局中的“包装在容器中”

    编辑 XML 布局文件时 Eclipse 有一项称为 包裹在容器中 的功能 重新格式化 gt Android gt 可让您选择一个或多个视图并在其周围包裹您选择的布局 Android Studio中有类似的东西吗 目前正在实施中 问题 69
  • Android Q:file.mkdirs() 返回 false

    我们有一个应用程序 使用外部存储来存储一些临时文件 图像 二进制数据 该代码已经运行了几年 直到最近才发生重大变化 在 Android Q 上它不起作用 File f new File Environment getExternalStor
  • fetchUuidsWithSdp 的奇怪 UUID 逆转

    我有一个在树莓派上运行的 python 蓝牙服务器 使用 PyBluez 我在服务器中使用的uuid是 8f86d132 4ab8 4c15 b8df 0b70cf10ea56 我正在打电话device fetchUuidsWithSdp
  • 如何在 Linux 内核中定义并触发我自己的新软中断?

    我想在 Linux 内核中创建自己的软中断 这是正确的方法吗 In the init我想触发该模块的softirq我将添加一个调用 394 void open softirq int nr void action struct softir
  • 自定义首选项中的android首选项水平分隔线?

    我创建了自己的自定义首选项对象来扩展首选项 我创建它们只是因为这些自定义数据类型没有首选项 一切正常 但我的自定义首选项没有相同的外观 因为它们缺少系统首选项对象具有的水平分隔线 我已经查找了创建水平分隔线的代码 但我找不到它是在哪里完成的
  • 在 Cordova 应用程序中获取额外功能

    我们有两个 Android 应用程序 一个使用本机 Java 实现 另一个使用 Ionic 编写 Ionic 应用程序启动我的应用程序 这是使用灯插件 https github com lampaa com lampa startapp 我
  • java.lang.IllegalStateException:应用程序 PagerAdapter 更改了适配器的内容,而没有调用 PagerAdapter#notifyDataSetChanged android

    我正在尝试使用静态类将值传递给视图 而不是使用意图 因为我必须传递大量数据 有时我会收到此错误 但无法找出主要原因是什么 Error java lang IllegalStateException The application s Pag
  • Android 深度链接至 Instagram 应用

    Instagram 已经发布了 iOS 深层链接的 url 方案 但尚未为 Android 创建文档 有没有办法深入链接到 Android 上的 Instagram 应用程序 以转到 Instagram 应用程序中的特定位置 例如 Inst
  • Android Eclipse 上的 Web 服务

    我是 android eclipse java 的新手 事实上这个论坛也是如此 有人遇到过这种情况吗 从用户那里获取输入并通过使用 android eclipse 中的 Web 服务来显示适当的结果 有可用的示例吗 非常感谢 我正在发布教程
  • Android:后台Activity可以执行代码吗?

    后台的活动是否被视为 正在运行 并且可以执行代码 还是处于挂起状态 他们暂停了 活动生命周期 http developer android com reference android app Activity html ActivityLi
  • Android 手机作为 GSM 调制解调器在 PC 上发送/接收短信?

    是否可以将 Android 移动设备用作 PC 上的 GSM 调制解调器 我正在 net下开发应用程序来发送 接收短信等 现在我想通过 USB 将我的 Android 设备连接到我的 PC 并将其用作 GSM 调制解调器来与其通信 这里是参
  • okhttp 获取失败响应

    我已经在我的 android 客户端中实现了 okhttp 来进行网络调用 当我收到失败响应时 我会收到失败代码以及与该代码相关的文本作为消息 但我没有收到服务器发送给我的自定义失败响应 在我实施的代码中的失败响应中 我收到的消息只是 错误
  • 我应该释放或重置 MediaPlayer 吗?

    我有自己的自定义适配器类 称为 WordAdapter 并且我正在使用媒体播放器 名为pronounce WordAdapter 类中的全局变量 我有不同的活动 其中每个列表项都有线性布局 名为linearLayout 我正在设置onCli
  • 在命令行上卸载 Android SDK 的选定部分

    这与 卸载旧的 Android SDK 版本 https stackoverflow com questions 15182377 uninstall old android sdk versions 除非我想在无头 Linux CI 服务
  • Android - 以编程方式选择菜单选项

    有没有办法以编程方式选择菜单选项 基本上 我希望视图中的按钮能够执行与按特定菜单选项相同的操作 我正在考虑尝试调用 onOptionsItemSelected MenuItem item 但我不知道要为菜单项添加什么 是的 有一种方法可以选
  • 没有支持 FEATURE_CAMERA_EXTERNAL 的 Android 设备

    根据this doc https source android com devices camera external usb cameras一些 Android 设备允许使用 Camera2 API 访问外部 USB 摄像头 我检查了大约
  • 我的应用程序中的后退按钮出现问题[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想在手机关闭时清除共享首选项值 你
  • Git 实验分支还是单独的实验存储库?

    我正在开发一个 Android 应用程序 并且在整个开发周期中一直使用 Git 现在 我想构建并发布实验性功能 供人们尝试和安装 同时仍将原始的 稳定的应用程序安装在他们的设备上 现在 这意味着我需要使用不同的包名称 这会更改开发项目中的一

随机推荐

  • 替换已弃用的函数 mysql_connect [重复]

    这个问题在这里已经有答案了 所以我已经设置好这个 Amazon Web Service 数据库 我正在为我计划使用它的应用程序编写一个旧教程 当我查找时 我注意到 mysql connect 已被弃用 我可以用什么作为替代方案 如何连接到我
  • 如何用Java画一个好看的圆

    我尝试过使用具有相同高度和宽度的drawOval方法 但随着直径的增加 圆形看起来变得更糟 无论大小如何 我该怎么做才能拥有一个看起来不错的圆圈 我将如何在java或其他方法中实现抗锯齿 事实证明 Java2D 我假设您正在使用它 已经非常
  • C++ 中“自然大小”的真正含义是什么?

    据我所知 自然大小 是特定硬件最有效处理的整数的宽度 使用时short在数组或算术运算中 short整数必须首先转换为int Q What exactly决定这个 自然尺寸 我不是在寻找简单的答案 例如 如果它具有 32 位架构 则其自然大
  • Tesseract 的自定义字典

    我目前正在开发一个使用 Tesseract OCR 的 Android 项目 我希望通过添加字典来微调提供给用户的结果 根据超正方 OCR 维基 解决这个问题的最好方法是 将 tessdata eng user words 替换为您自己的单
  • 为什么 Visual Studio 2010 不会因未处理的异常而中断?

    当我的程序中抛出异常并且未处理该异常时 我希望调试器能够中断我的程序并显示问题所在 这不会发生 相反 我的程序只是退出 并且调试停止 如果我查看调试输出 我可以看到我的异常 类型的第一次机会异常 系统 NullReferenceExcept
  • 在日历上设置最小和最大日期?

    我再次环顾四周 但找不到如何使用 VB 在 ASP net 中的日历上设置允许选择的最小和最大日期 我正在使用 Visual Studio 2010 目前它只是一个常规的日历控件 目前我看到过这样的事情 Calendar1 DateMin
  • 如何调试 PHP 应用程序?

    与我们可以使用 Visual Studio 调试 ASP NET 应用程序一样 哪种调试 PHP 应用程序的最佳方法是 我正在使用IDE日食光动力治疗 可以使用PHP扩展Xdebug提供调试功能 类似于 Visual Studio 可能功能
  • SFINAE 并检测 C++ 函数对象是否返回 void

    我已经阅读了有关此问题的各种权威资料 包括Dewhurst但对于这个看似简单的问题却没有取得任何进展 我想做的是call a C 函数对象 基本上 任何你可以调用的东西 一个纯函数或一个带 的类 并返回它的值 如果它不是 void 否则返回
  • 为什么以“T extends undefined”为条件的 Typescript 类型(用“boolean”实例化 T)会将 T 解析为“never”?

    以下代码尝试定义当泛型参数为时不带参数调用的函数的类型undefined 但对于任何其他参数类型有 1 个参数 很可能有更好的方法来实现这一点 我很乐意在评论中看到链接 但问题是为什么 Typescript 的工作方式与我预期的不同 Whe
  • 如何使用 angularJs 从 json 值渲染 HTML 标签

    json是这样的 unparsedString p test lt p gt HTML p div Preamble item2 unparsedString div 输出 Preamble p test lt p gt 但如何渲染该标签并
  • WebDav 为宁静的 WCF Web 服务带来麻烦

    我在 NET 4 中创建了一个 WCF Restful 服务 并在 IIS 7 5 windows 7 x86 下发布了它 动词 GET 和 POST 工作正常 但 DELETE 和 PUT 出现错误 Error The remote se
  • 部署 Azure Web Apps 时最大限度减少停机时间的最佳实践

    我有一个应用程序服务计划 在该计划中 我将解决方案的 5 个组件部署为 Web 应用程序 我使用 Azure DevOps 中的 发布管理 将代码部署到这些应用程序 为了最大限度地减少部署期间的停机时间 我首先部署到临时插槽 然后将临时插槽
  • Haskell :: Aeson :: 根据字段值解析ADT

    我正在使用返回 JSON 响应的外部 API 其中一个响应是一组对象 这些对象由它们内部的字段值标识 我在理解如何使用 Aeson 解析此类 JSON 响应时遇到一些困难 这是我的问题的简化版本 newtype Content Conten
  • 关键帧动画之间的暂停

    得到了一个带有关键帧的简单动画 webkit keyframes rotation 0 webkit transform rotate 10deg 25 webkit transform rotate 5deg 50 webkit tran
  • 如何在 irb 中使用 RSpec 期望

    我想用 1 2 3 should include 1 在 irb 中 我试过 irb 1 9 3p362 001 gt require rspec expectations gt true 1 9 3p362 002 gt include
  • 如何让 Shiny-server 与 Azure Active Directory 一起使用

    我正在使用 Azure Webapps for Containers 来托管 R Shiny Server 我想使用 Azure Active Directory 对登录应用程序的用户进行身份验证和授权 我正在使用rocker shiny来
  • 如何以编程方式从 WebView 对象中弹出 Webkit 的 Web Inspector?

    如何以编程方式从 WebView 对象中弹出 Webkit 的 Web Inspector 我成功启用 Webkit 的 Web Inspector在我的 WebView 上 它运行良好 现在我可以通过单击上下文菜单上的 检查元素 来弹出它
  • 如何在Spring-data Rest中更新引用对象?

    Example class 课程和教师具有多对一的关系 如何通过 Spring data Rest 更改某门课程的教师 GET http localhost 7070 study spring data course 2 回复 name C
  • 为什么在接收更改事件时不更改通知程序

    我发布了一个答案Java TableModelListener 和 Live Feed Listener 但我收到了一条评论 kleopatra nonono you never change the notifier in receivi
  • 杀死另一个应用程序并清除其数据

    我正在开发一种工具 可以杀死选定的应用程序并清除其所有数据 有点模拟this我只有可用的包名称 我不确定它是否有效 但你可以做的是获取应用程序的进程 ID 和你拥有的包名称 然后调用killProcess 以进程ID为参数的方法 EDIT1