[mobilesafe] 07_手机杀毒-病毒查杀-一键清理病毒

Android 4.0

手机杀毒-病毒查杀-一键清理病毒

1、在扫描完毕后,如果发现病毒,提示用户清除
2、弹出来一个对话框,让用户选择
3、如果用户选择清除,开启一个系统卸载应用的Intent,进行卸载该应用
核心代码:
// 扫描完成后,主线程
@Override
protected void onPostExecute(Void result) {
    super.onPostExecute(result);
    tv_scan_status.setText("扫描完成");
    iv_scan_malware.clearAnimation();
    // 扫描完毕后,如果有病毒,那么提醒用户清理病毒程序
    if (virusLists != null && virusLists.size() > 0) {
        
        for (final String virusPackage : virusLists) {
            
            AlertDialog.Builder builder = new  Builder(AntiVirusActivity.this);
            builder.setTitle("警告:");
            builder.setMessage("发现病毒程序,是否立即清除");
            builder.setPositiveButton("立即清除"new OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    //激活系统卸载应用的界面
                    Intent intent = new Intent();
                    intent.setAction(Intent.ACTION_DELETE);
                    intent.setData(Uri.parse("package:"+virusPackage));
                    startActivity(intent);
                    dialog.dismiss();
                }
            });
            builder.setNegativeButton("下次再说"new OnClickListener() {
                
                @Override
                public void onClick(DialogInterface dialog, int which) {
                        dialog.dismiss();
                }
            });
            builder.show();
        }
    }
}
结果:
 
问题:
屏蔽横屏,屏幕横屏
如果在扫描过程中如果进行了横竖屏切换,又会重新扫描,所以要屏蔽掉横竖屏切换时,导致Activity的生命周期变化
解决:屏幕键盘,横竖屏切换导致Activity的生命周期的变化
<activity
    android:name="cn.zengfansheng.mobilesafe.AntiVirusActivity"
    android:configChanges="orientation|keyboard|keyboardHidden|screenSize" >
</activity>