1. android 能不能监听到第三方应用App的启动和退出
可以,我原来做的是用一个计时器(为了准确率可以0.1s轮询一次)去监听手机的TopActivity,获取TopActivity的包名(应用的包名是唯一的),当TopActivity发生变化就说明使用的应用发生了改变,就实现了监听第三方应用的启动和退出(其中也包括系统应用,过滤包名就可以了)。有什么问题再问我
2. 安卓编程怎样判断app应用第一次启动
1、从manifest中读取到android:versionCode,
2、然后将其与preference中的versioncode做比较,
3、当preference中的versioncode小于manifest中的版本号时,则代表此次启动为该版本的首次启动,
java">
代码如下
PackageInfoinfo=getPackageManager().getPackageInfo(PACKAGE_NAME,0);
intcurrentVersion=info.versionCode;
SharedPreferencesprefs=PreferenceManager.getDefaultSharedPreferences(this);
intlastVersion=prefs.getInt(VERSION_KEY,0);
if(currentVersion>lastVersion){
//如果当前版本大于上次版本,该版本属于第一次启动
......
//将当前版本写入preference中,则下次启动的时候,据此判断,不再为首次启动
prefs.edit().putInt(VERSION_KEY,currentVersion).commit();
}
3. Android 能不能监听到第三方应用App的启动和退出
在Android中,Activity有个栈,一个Activity结束掉,会回到上一个Activity,并不是退出应用程序。 Android中,退出应用程序的方式: 1.通过pid int pid = android.os.Process.myPid(); //获取当前应用程序的PID android.os.Process.killProcess(pid); //杀死当前进程 这种方法退出应用,是会保留某些后进程,例如:Service,Notifications等。 2.通过ActivityManager ActivityManager manager = (ActivityManager)context.getSystemService(ACTIVITY_SERVICE); //获取应用程序管理器 manager.killBackgroundProcesses(getPackageName()); //强制结束当前应用程序 这种方式退出应用,会结束本应用程序的一切活动,因为本方法会根据应用程序的包名杀死所有进程包括Activity,Service,Notifications等。