Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 自己動手清除Android系統中的不良程序

自己動手清除Android系統中的不良程序

編輯:關於Android編程

自己動手清除Android系統中的不良程序

陳躍峰

2014/6/29

最近在使用我的Nexus7時,總是經常莫名其妙的彈出一些廣告彈窗,還會自動下載一些應用程序,還會在桌面上生成一個叫做“精彩應用”的圖標,這個快捷方式關聯的程序顯示的內容和廣告內容是一致的,很是煩人,使用360手機衛士和樂安全都發現不了這個不良程序,所以就自己動手來清除這個程序。

由於Nexus 7平時用於測試程序,安裝的應用很多,手動刪除了一些可疑的應用以後還是不行,猜測是某些app可能被人篡改了,就不再去刪除app了,而把目光轉向了桌面快捷方式上。

既然生成了“精彩應用”這個圖標,而且點擊可以啟動程序,但是安卓系統的快捷方式和app之間沒有很直觀的聯系,這就需要寫些代碼來解決了:

1、獲取快捷方式對應的包名

眾所周期,每個安卓app依靠一個唯一的包名就行區分,只要能發現這個包名,剩下就簡單了。

獲取快捷方式需要讀寫系統設置的權限:

讀取快捷方式的代碼如下:

/**

* 顯示快捷方式信息

* @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的程序,卸載時只是調用卸載界面,但是這個對於我來說足夠了。

卸載程序需要的權限:

卸載程序的方法代碼:

/**

* 卸載軟件

*@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還是小心一點的好。

把自己的這一小段經歷和大家一起分享,如果大家有更好的方法也請告訴我,謝謝。聯系方式:[email protected]

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved