我的手机管家(20) 应用管理 介绍PopupWindow中点击事件

 android:drawableTop="@drawable/img2"//Textview中显示图片
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/tv_lanuch"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:drawableTop="@drawable/img2"
        android:text="启动" />
    <TextView
        android:id="@+id/tv_uninstall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:drawableTop="@drawable/img1"
        android:text="卸载" />
    <TextView
        android:id="@+id/tv_share"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:drawableTop="@drawable/img3"
        android:text="分享" />

</LinearLayout>

三者的相应点击事件:

  (1)应用程序的启动需要使用PackageManager根据指定的packageName

来启动相应的应用程序  pm.getLaunchIntentForPackage(packageName);

  (2)  应用程序的卸载, 卸载完成后,重写刷新界面, 使用带回传值的启动activity

到相应的卸载界面,

     Intent intent = new Intent(Intent.ACTION_DELETE);
     intent.addCategory(Intent.CATEGORY_DEFAULT);
     intent.setData(Uri.parse("package:"+packageName));

    

/**
     * 启动应用
     */
    public void launch(String packageName){
        PackageManager pm = getPackageManager();
        //获得app启动界面的intent
        Intent intent = pm.getLaunchIntentForPackage(packageName);
        startActivity(intent);
    }
    /**
     * 卸载应用
     */
    public void uninstall(String packageName){
        //跳转到卸载界面
        Intent intent = new Intent(Intent.ACTION_DELETE);
        intent.addCategory(Intent.CATEGORY_DEFAULT);
        intent.setData(Uri.parse("package:"+packageName));
        startActivityForResult(intent, 0);
    }
    /**
     * 分享应用
     */
    public void share(String packageName){
        Intent intent = new Intent(Intent.ACTION_SEND);
        intent.setType("text/plain");//发送文本
        intent.putExtra(Intent.EXTRA_TEXT, packageName);
        startActivity(intent);
    }
    public void startActivityForResult(Intent intent, int requestCode) {
        initAppData();//卸载完成后,重写刷新界面
        super.startActivityForResult(intent, requestCode);
    }
时间: 2024-10-11 16:24:12

我的手机管家(20) 应用管理 介绍PopupWindow中点击事件的相关文章

我的手机管家(19) 应用管理 单独介绍一下PopupWindow

我的手机管家(19) 应用管理  单独介绍一下PopupWindow 在前一节中使用点击ListView 出现一个弹出窗口, 用来显示我们的需求. PopupWindow: A popup window that can be used to display an arbitrary view. The popup window is a floating container that appears on top of the current activity. PopupWindow 是一个

我的手机管家(2) 进程管理布局

我的手机管家(2)  进程管理 (1)获取进程信息:所有的进程信息, 正在运行的进程信息, 剩余可用内存 (2)获取进程信息是一个耗时的操作, 首先在使用子线程获取进程信息的时候显示缓冲界面,缓冲加载完成后, 通知LIstView展示数据,加载适配器, 同时缓冲结束 获取进程信息的提供者: package com.ejob.phonesafe.provider; import java.io.BufferedReader; import java.io.FileReader; import ja

我的手机管家(4) 进程管理逻辑代码

本节主要介绍进程管理界面的逻辑代码:至此进程管理的功能已经完善了 首先要加载正在运行的进程,获取进程信息, 这是一个耗时的操作, 所以一个子线程来处理缓冲加载, 加载完数据就通知ListView 将数据展示到 界面,listview怎么知道,数据缓冲完了,如何获取这个通知呢? 不错就是使用Thread和Handler结合,在缓冲完成后,使用handler发送一个 空消息 handler.sendEmptyMessage(1); /** * 缓冲加载进程数据 */ private void ini

我的手机管家(18) 应用管理 主要代码

点击ListView的item跳出一个弹出窗口 /** *弹出窗口 * @param View pView 是被触发点击事件的View , */ protected void showPopupWindow(View pView){ if(mPopupWindow==null){ popupView = View.inflate(this, R.layout.popup_adapter, null); mPopupWindow = new PopupWindow(popupView, Layou

我的手机管家(3) 进程管理适配器

自定义继承管理适配器: 这个适配器是重点,与以往我写的适配器有所不同,她的item不是都是一样的, 一个是显示头部:此类型的进程数目app_lv_head_item.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_wi

Launcher知识的demo,手机管家小伙家与悬浮窗

Launcher知识的demo,主要仿的手机管家小伙家与悬浮窗的效果.东西比较简单,直接贴代码 主要用到了windowManager 中的更新updateViewLayout(view,params),和 添加windowManager.addView()和删除windowManager.removeView() 移动launcher主要是updateViewLayout(view,params),中的params来实现 贴几个主要类,全部源码请自己下载 package com.pzf.flow

我的手机管家(21) 设置中心

我的手机管家(21) 设置中心 : 包括三个界面:四个功能 (1)电话归属地查询 使用SQLIteDatabase 查询address.db, 查询指定号码的归属地 (2) 检查应用版本更新 (3)关于我的手机管家信息 (4)黑名单服务的开启与关闭 黑名单服务: 通过绑定广播进行短信的拦截, 会比静态注册先拦截短信 通过电话管理器TelephonyManager监听电话状态 一旦有电话打入, 首先进行黑名单对比. package com.chb.myphonesave.service; impo

99手机管家项目的总结

断断续续,终于做完了这个项目(2014-11-24~2015-01-01),感慨万千,真的是白天求生存,晚上求发展. 在手机管家的项目中,实现了手机防盗,通讯卫士,软件管理,进程管理,流量统计,手机杀毒,缓存清理,高级工具,设置中心等功能.使用到的东西: 1.Android四大控件,各大布局. 2.关于ListView的convertView的复用(Listview的优化). 3.ListView的convertView复用带来的数据错乱的问题. 4.AIDL和反射的理解(挂断电话,清理缓存).

我的手机管家(10)病毒扫描 拷贝病毒数据库

我的手机管家(10)病毒扫描    拷贝病毒数据库 (1)将病毒数据库复制到asserts文件夹下,然后复制到 "data/data/com.chb.myphonesafe/files/antivirus.db" //数据库路径必须是data/data目录下,否则无法访问 拷贝:AssetUtil package com.chb.myphonesave.util; import java.io.File; import java.io.FileOutputStream; import