树懒_移动开学笔记_day41_安全卫士_进程管理

来源:互联网 发布:网络共享盘打不开 编辑:程序博客网 时间:2024/05/22 12:15

树懒
day41

手机安全卫士 第十一天

二、软件管理功能实现

1. Popupwindow 弹窗   显示与消失     1. 当滚屏时,弹窗消失     2. 当Activity退出时,要清除弹窗   popupwindow显示动画     1. 要设置背景,可以是透明色     2. 当Activity退出时,要记得与父控件解绑   绑定监听   设置样式、选择器2. 卸载软件   调用系统的应用来卸载软件          <intent-filter>            <action android:name="android.intent.action.DELETE" />            <action android:name="android.intent.action.UNINSTALL_PACKAGE" />            <category android:name="android.intent.category.DEFAULT" />            <data android:scheme="package" />        </intent-filter>    通过成员变量传递参数    不能卸载系统和当前的应用3. 启动程序    通过包管理器获取某个包运行的意图    //通过包管理器 来获取某个包(某个应用)的运行的意图 ,再执行该意图 ,即可启动应用            PackageManager pm=getPackageManager();            Intent launchIntentForPackage = pm.getLaunchIntentForPackage(softInfo.getPackageName());            if(launchIntentForPackage!=null){ //当运行的意图为空,则不启动,因为很多系统的应用 以服务提供出去的,而没有权限执行服务,                startActivity(launchIntentForPackage);            }else{                ToastUtils.show(context, "系统服务,不能直接启动");            }4. 查看详细信息    通过日志信息查看启动的组件     1. act :action  :动作 2. dat :data  :传递uri的数据:包名 3. cmp :component  :组件        intent.setAction("android.settings.APPLICATION_DETAILS_SETTINGS");            intent.setData(Uri.parse("package:"+softInfo.getPackageName()));    5. 内容分享 : 微信,微博    分享信息    获取及显示分享信息    一键分享    //      ToastUtils.show(context, "3");            /*        <intent-filter>            <action android:name="android.intent.action.SEND" />            <category android:name="android.intent.category.DEFAULT" />            <data android:mimeType="text/plain" />        </intent-filter>        */            Intent intent=new Intent();            intent.setAction(Intent.ACTION_SEND);//发送动作            intent.addCategory(Intent.CATEGORY_DEFAULT);            intent.setType("text/plain");            intent.putExtra(Intent.EXTRA_TEXT, "android开发经验分享");//假如分享文本,则应该附加该key            startActivity(intent);

三、进程管理模块

1. 任务进程实体类设计2. 获取系统任务进程3. 进程管理界面4. 界面bug解决   - 复选框问题     1. 在TaskInfo中添加一个布尔属性 ,在适配器的getView中依据值改变状态     2. 每一次点击一次发一个内容更新的通知     3. 在点击监听中,通过view(itemView)找到子控件,再更新5. 全选取消进程选择         for循环添加集合            setChecked false6.  清除选择的进程                am.killBackgroundProcesses(taskInfo.getPackageName());                将isChecked的列表项添加到List集合中,在remove 体验效果移除实质也就表现在外,在内进程核心软件删不掉
0 0
原创粉丝点击