自己动手清除Android系统中的不良程序

原创 2014年06月29日 16:56:35

自己动手清除Android系统中的不良程序

陈跃峰

2014/6/29

 

         最近在使用我的Nexus7时,总是经常莫名其妙的弹出一些广告弹窗,还会自动下载一些应用程序,还会在桌面上生成一个叫做“精彩应用”的图标,这个快捷方式关联的程序显示的内容和广告内容是一致的,很是烦人,使用360手机卫士和乐安全都发现不了这个不良程序,所以就自己动手来清除这个程序。

         由于Nexus 7平时用于测试程序,安装的应用很多,手动删除了一些可疑的应用以后还是不行,猜测是某些app可能被人篡改了,就不再去删除app了,而把目光转向了桌面快捷方式上。

         既然生成了“精彩应用”这个图标,而且点击可以启动程序,但是安卓系统的快捷方式和app之间没有很直观的联系,这就需要写些代码来解决了:

         1、获取快捷方式对应的包名

         众所周期,每个安卓app依靠一个唯一的包名就行区分,只要能发现这个包名,剩下就简单了。

         获取快捷方式需要读写系统设置的权限:

                   <uses-permissionandroid:name="com.android.launcher.permission.READ_SETTINGS" />

   <uses-permissionandroid:name="com.android.launcher.permission.WRITE_SETTINGS" />

         读取快捷方式的代码如下:

/**

          * 显示快捷方式信息

          * @param context 上下文对象

          */

         publicstatic void printShortcutInfo(Context context){

                   try{

                            ContentResolverresolver = context.getContentResolver();

                 Cursor cursor = resolver.query(Uri.parse("content://com.android.launcher2.settings/favorites?notify=true"),null,null,null,null);

                 int index = 0;

                 while(cursor.moveToNext()){

                          intnum = 5;

                          try{

                                    Stringinfo = "";

                                    for(inti = 0;i < num;i++){

                                              info+= cursor.getString(i) + ",";

                                    }

                                    System.out.println(index+++ "  " + info);

                          }catch(Exceptione1){}

                 }

                 cursor.close();

                   }catch(Exceptione){

                            e.printStackTrace();

                   }

         }

         通过执行这些代码,发现“精彩应用”这个快捷方式对应的包名是“cn.com.hkgt.gasapp”,通过这个包名也不能直接找到对应的程序,那下面就自己编码卸载这个程序,看看到底是哪里出了问题。

         2、根据包名卸载app

         对于没有root的程序,卸载时只是调用卸载界面,但是这个对于我来说足够了。

         卸载程序需要的权限:

                   <uses-permissionandroid:name="android.permission.DELETE_PACKAGES" />

         卸载程序的方法代码:

                   /**

              * 卸载软件

              *@param context 上下文对象

              *@param pkgName 包名

              */

             public static void deletePackage(Contextcontext,String pkgName){

                       try{

                                Uri packageURI =Uri.parse("package:" + pkgName);    

                                Intent uninstallIntent = newIntent(Intent.ACTION_DELETE, packageURI);    

                                context.startActivity(uninstallIntent);

                       }catch(Exception e){

                                e.printStackTrace();

                       }

             }

         执行这个方法卸载上面包名的程序时,终于发现是中石化营业厅程序被人篡改了,卸载该app,去他们的官网再次下载安装app,世界终于一片清静了。

        

         最后发现百度应用中心和应用宝里面提供的中石化营业厅程序都是被篡改的程序,看来以后下载和安装app还是小心一点的好。

        

         把自己的这一小段经历和大家一起分享,如果大家有更好的方法也请告诉我,谢谢。联系方式:cqucyf@JavaMeStudio.com

Android使用SurfaceView实现视频播放

package cn.itcast.video; import java.io.File; import java.io.IOException; import android.app....

SurfaceView你所应该知道的事

转载注明出处:http://blog.csdn.net/pangrui201/article/details/50834765 我们知道android对UI的绘制是在主线程里完成的,可是对一些交互...

自己动手刷原生android系统

先说几句题外话。 我本人而言,用过好几种android机,有nexus系列的,也有国内厂商的产品。刷机呢,以前,1~2年之前,基本上用这大师,那助手什么的刷,一来图个方便,二来,似乎那时候从刷机软件刷...
  • anod
  • anod
  • 2016年08月28日 20:04
  • 27404

Android系统应用程序

  • 2013年01月17日 13:41
  • 658KB
  • 下载

Android系统匿名共享内存Ashmem(Anonymous Shared Memory)驱动程序源代码分析

在上一文章Android系统匿名共享内存Ashmem(Anonymous Shared Memory)简要介绍和学习计划中,我们简要介绍了Android系统的匿名共享内存机制,其中,简要提到了它具有辅...

获取Android系统程序信息 源代码

  • 2013年02月01日 14:44
  • 42KB
  • 下载

如何在Android系统锁屏后使程序继续运行

转载请注明原文地址:http://bcoder.com/java/make-the-app-keep-running-after-lock-screen 话不多说,先上代码: 首先在Android...
  • wusj3
  • wusj3
  • 2017年11月28日 19:01
  • 291

android系统的led测试程序

  • 2009年12月04日 08:58
  • 168KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:自己动手清除Android系统中的不良程序
举报原因:
原因补充:

(最多只允许输入30个字)