最终我并没有实现这个功能,我本来希望能够实现在用户卸载程序之后,打开用户反馈网页,我暂时用www.baidu.com代替反馈网页。
大体的想法是使用ndk开发,在c代码中fork一个子进程,在子进程中监听data/data/packageName文件是否消失来判断app是否被卸载,由于子进程不会立刻被杀死,这样就能实现想要的功能了,但是不知道为什么我一卸载app的瞬间,子进程也是立刻被杀死了,打开网页的代码根本不会被执行,听说5.0以上的系统才会有fork出的子进程也会被回收的现象,但是我的手机明明是4.4的,但是没关系,我学到了很多知识,
1、 比如c语言里的fork函数,它会返回多个值,0表示进入子进程>0表示还在父线程,<0表示创建子进程失败
2、c代码
execlp("am", "am", "start", "--user", "0", "-a", "android.intent.action.VIEW", "-d", "http://www.baidu.com", (char *) NULL);
是可以直接使得手机打开百度页面的。
虽然失败,但是还是学到了东西。
相关推荐
在Android系统中,"自监听卸载App"是一种高级的编程技术,允许应用程序检测到自身被用户或系统卸载的情况。这种技术对于某些特定的应用场景非常有用,例如数据备份、清理资源或者执行卸载后的清理任务。下面我们将...
Android 监听自身卸载,弹出用户反馈调查是一个非常实用的功能,特别是在当前的移动应用市场中。这个功能可以让开发者在用户卸载应用时,弹出一个用户反馈调查的网页,以便收集用户的反馈信息,并且可以帮助开发者...
在安卓(Android)开发中,有时开发者需要监听应用自身的卸载事件,以便在用户卸载应用时执行一些清理工作或发送最后的数据。本项目提供的"安卓Android源码——监听自身卸载.rar"就是一个实例工程,它展示了如何实现...
首先,我们需要了解在Android中,监听APP卸载通常涉及到广播接收器(BroadcastReceiver)。Android系统在卸载一个应用时会发送一个名为`ACTION_PACKAGE_REMOVED`的系统广播。通过注册一个能捕获这个广播的接收器,...
在`IntentFilter`中添加这个动作,可以监听到与指定包名相关的卸载事件。 4. **libcurl**: libcurl是一个开源的库,用于在各种编程语言中处理URL转移,包括HTTP、HTTPS、FTP等。在这个示例中,当应用被卸载后,它...
在Android系统中,由于其基于Linux内核,因此理论上可以利用`Inotify`来监听应用的卸载事件。然而,Android系统对第三方应用的权限控制较为严格,直接使用`Inotify`来监听自身卸载并不直接可行。这篇技术博客中可能...
【Android-监听自身应用卸载】是Android开发中一个特殊的需求,它涉及到系统广播的注册与接收、服务的实现以及第三方库libcurl的使用。在这个实例工程中,开发者旨在实现当应用被卸载时,自动触发一个网络请求,或者...
在Android中,一个应用从安装到卸载的过程中会经历多个状态,包括创建、启动、运行、暂停、停止以及销毁。当用户卸载应用时,系统会调用应用中的某些方法,这就为我们提供了监听卸载事件的入口。 1. **广播接收器**...
Android系统在卸载应用时会发送一个ACTION_PACKAGE_REMOVED广播,我们可以通过注册一个自定义的BroadcastReceiver监听这个广播,当接收到这个广播时执行预设的任务。 接下来,我们关注使用libcurl进行三方请求的...
总的来说,通过监听应用卸载事件和使用libcurl库,我们可以在Android应用卸载后执行自定义操作,例如发送卸载通知到服务器或打开网页。这个过程需要结合Android的广播接收器、libcurl的网络请求功能,以及可能的JNI...
本资源"Android应用源码之监听自身被卸载.zip"提供了一个示例代码,帮助我们深入理解这一过程。 首先,Android系统并未直接提供监听应用卸载的API,但我们可以利用广播接收器(BroadcastReceiver)来间接实现这一...
5. **卸载监听的局限性**:由于Android系统的限制,即使监听到卸载事件,也无法阻止卸载过程。此外,如果用户选择“强制停止”应用后再卸载,那么BroadcastReceiver可能不会接收到ACTION_PACKAGE_REMOVED广播。 6. ...
要监听应用被卸载,我们需要创建一个BroadcastReceiver,该receiver会在接收到ACTION_PACKAGE_REMOVED广播时执行特定操作。以下是一个简单的BroadcastReceiver示例: ```java public class UninstallReceiver ...
在Android系统中,应用监听自身卸载是一种非标准但实用的技术,主要涉及到系统服务、广播接收器和进程管理。以下是对这一主题的详细说明: 首先,Android应用的生命周期是由系统控制的,通常情况下,用户卸载应用时...
在Android开发中,有时我们需要对应用的卸载行为进行监听,以便在用户卸载应用时执行某些清理工作或发送最后的数据。"android卸载监听"是Android开发中的一个技术点,它涉及到Android系统的生命周期管理和自定义...
注册一个这样的广播接收器,就可以在接收到卸载广播时执行清理或通知操作。 接下来是libcurl的使用。libcurl提供了丰富的功能,包括HTTP、HTTPS、FTP等多种协议的支持,可以进行POST、PUT、GET等请求,还可以处理...
在Android中,应用可以通过注册特定类型的`BroadcastReceiver`来监听到设备上的某些事件,如应用安装完成、应用被卸载等。当这些事件发生时,系统会发送广播消息给注册了相应事件的应用,使得应用可以接收到通知并...
一旦检测到卸载操作,程序会触发一个预设的动作,如通过libcurl库发送一个第三方HTTP请求,或者是启动一个网页实例。以下将详细介绍这个项目中的关键知识点: 1. **小程序开发**:小程序是一种轻量级的应用形态,...
在应用卸载过程中,我们不能直接监听到卸载事件,因为一旦应用被卸载,所有的组件都将不再运行。因此,我们需要另寻他法。 在这个实例工程中,关键在于使用BroadcastReceiver。BroadcastReceiver可以监听系统广播,...