Android编程之杀毒的实现原理及具体实例

2019-12-10 19:36:17于丽

显示病毒扫描信息:

Handler handler = new Handler(){
 @Override
 public void handleMessage(Message msg) {
  super.handleMessage(msg);
  switch (msg.what) {
  case SCANNING:
   StringBuilder sb = (StringBuilder) msg.obj;
   tv_killvirus_info.setText(sb.toString());
   sv.scrollBy(0, 25);//每次增加都会自动向下移动画面
   break;
  case SCANNING_FINISH:
   int i = (Integer) msg.obj;
   StringBuilder sb1 = new StringBuilder();
   sb1.append("扫描完毕 共扫描 "+ i+ " 个程序");
   if(virusResult.size()>0){
    sb1.append("发现病毒 n");
     for(String packname : virusResult){
      sb1.append("病毒名"+ packname);
      sb1.append("n");
     }
    }
    tv_killvirus_info.setText(sb1.toString());
    animationDrawable.stop();
   break;
  }
 }
};

获取到程序的签名:

/*
 * 获取程序的签名
 */
public String getAppSignature(String packname){
  try {
   PackageInfo packinfo =pm.getPackageInfo(packname, PackageManager.GET_SIGNATURES);
   //获取到所有的权限
   return packinfo.signatures[0].toCharsString();
  } catch (NameNotFoundException e) {
   e.printStackTrace();
   return null;
  }
}

显示扫描的文件页面并自动滚动:

<ScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/iv_killvirus_am"
android:id="@+id/sv_killvirus"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tv_killvirus_info"
></TextView>
</ScrollView>

希望本文所述对大家Android程序设计有所帮助。



注:相关教程知识阅读请移步到Android开发频道。