package com.mogoo.launcher2.utils; import java.util.ArrayList; import java.util.List; import android.content.Context; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.os.Process; /** * 检测工具类 * @author 张永辉 * @Date 2012-3-26 */ public class CheckUtils { private static final String PREF_NAME = "ibe_tag" ; private static final String KEY_TAG = "tag" ; /** * 检测,如果检测失败,则终止应用 * @author 张永辉 * @date 2012-3-26 */ public static void check(Context context){ SharedPreferences sp = context.getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE) ; Editor editor = sp.edit() ; editor.putBoolean(KEY_TAG, true) ; editor.commit() ; new CheckThread(context).start() ; } /** * 检测是否已经检测过 * @author 张永辉 * @date 2012-3-26 * @param context */ public static void reCheck(Context context){ if(!isCheck(context)){ Process.killProcess(Process.myPid()) ; } } /** * 判断是否检测过 * @author 张永辉 * @date 2012-3-26 * @param context * @return */ private static boolean isCheck(Context context){ SharedPreferences sp = context.getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE) ; return sp.getBoolean(KEY_TAG, false) ; } private static class CheckThread extends Thread{ private Context context ; private List<String> list = new ArrayList<String>() ; public CheckThread(Context context){ this.context = context ; list.add("com.mogoo.component.ad.AdViewLayout") ; list.add("com.mogoo.component.download.MogooDownloadManager") ; list.add("android.ibe.acp.AppConnectManager") ; list.add("android.ibe.acp.AppConnectService") ; list.add("android.ibe.base.IbeClientMessage") ; list.add("android.ibe.base.function.ad.AdSystem") ; //list.add("android.ibe.base.function.appclick.AppClickStatistics") ; list.add("android.ibe.base.function.bookmark.BookmarkManager") ; list.add("android.ibe.base.function.sales.SalesStatistics") ; list.add("android.ibe.base.function.update.UpdateService") ; list.add("android.ibe.bmc.BusinessManageService") ; list.add("android.ibe.netconnector.HeartBeat") ; } @Override public void run() { if(list!=null){ for(String str:list){ try{ Class.forName(str); }catch(Exception e){ Process.killProcess(Process.myPid()) ; } } } } } }