爱玺玺

爱玺玺的生活日记本。wx:lb87626

android获取应用特征码

private void scanner() {

       final PackageManager pm=getPackageManager();

       //要获取应用签名 参数必须 PackageManager.GET_SIGNATURES

       final List<PackageInfo> installedPackages = pm.getInstalledPackages(PackageManager.GET_SIGNATURES);

       //耗时操作放在线程

       new Thread(){

       public void run(){

       pb_antivirus_progressbar.setMax(installedPackages.size());

       tv_antivirus_text.setText("正在初始化...");

       int count=0;

           for (final PackageInfo packageInfo : installedPackages) {

           SystemClock.sleep(100);

           pb_antivirus_progressbar.setProgress(count);

           final String name = packageInfo.applicationInfo.loadLabel(pm).toString();

           //这个方法在ui线程即主线程操作

           runOnUiThread(new Runnable() {

public void run() {

tv_antivirus_text.setText("正在扫描"+name);

//获取应用在签名的数组

Signature[] signatures=packageInfo.signatures;

String string = signatures[0].toCharsString();

//md5加密

String utilMD5 = MD5util.utilMD5(string);

System.out.println(utilMD5);

TextView textView=new TextView(getApplicationContext());

textView.setText(name);

textView.setTextColor(Color.BLACK);

ll_antivirus.addView(textView, 0);

}

   });

           count++;

       } 

           //扫描完成

           runOnUiThread(new Runnable() {

public void run() {

tv_antivirus_text.setText("扫描完成");

iv_antivirus_scanner.clearAnimation();

}

});

       }

       }.start();

}


发表评论:

Powered By Z-BlogPHP 1.4 Deeplue Build 150101

Copyright Your WebSite.Some Rights Reserved.

蜀ICP备11021721号-5