微信降版本登录 |
您所在的位置:网站首页 › 知识产权怎么画图片 › 微信降版本登录 |
package com.example.wxreversion; import android.os.Handler;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.texthod.ScrollingMovementMethod;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.TextView; import java.io.File; public class MainActivity extends AppCompatActivity{ Handler handler; TextView textView; private void LogV(String s) { Log.v("test", s); } private void textAppend(final String s) { LogV("textAppend:" + s); handler.post(new Runnable() { @Override public void run() { LogV("run:" + s); textView.setText(textView.getText() + s); } }); } private String getPath() { String path = null; textAppend("-----------------------------\n"); if (!ShellUtils.checkRootPermission()) { textAppend("获取root权限失败,请在设置中授予权限!\n"); return path; } path = ShellUtils.execCommand("pm path com.tencent.mm", true).successMsg; if (path != null) { try { path = path.substring(path.indexOf('/'), path.lastIndexOf('/')); } catch (Throwable throwable) { path = null; } } if (path == null) { textAppend("未找到微信安装目录,请先安装!\n"); } else { textAppend("找到安装目录:" + path + "\n"); } return path; } private boolean isEnpty(String string) { if (string == null || string.length() == 0) { return true; } return false; } private void putResult(ShellUtils.CommandResult result) { textAppend("返回码:" + result.result + "\n"); if (!isEnpty(result.successMsg)) { textAppend(result.successMsg + "\n"); } else if (!isEnpty(result.errorMsg)) { textAppend("错误消息:" + result.errorMsg + "\n"); } } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); handler = new Handler(); textView = (TextView) findViewById(R.id.textView); textView.setMovementMethod(ScrollingMovementMethod.getInstance()); ((Button) findViewById(R.id.button1)).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { new Thread() { @Override public void run() { String path = getPath(); if (path == null) { return; } textAppend("正在保存安装目录!\n"); ShellUtils.CommandResult result = ShellUtils.execCommand("cp -af " + path + " /data/local/tmp/com.tencent.mm", true); putResult(result); if (!isEnpty(result.errorMsg)) { return; } textAppend("正在卸载微信!\n"); result = ShellUtils.execCommand("pm uninstall com.tencent.mm", true);//-k无用 putResult(result); if (!isEnpty(result.errorMsg)) { return; } textAppend("请安装新版微信,并在登录成功后点击【覆盖安装文件并重启】按钮!\n"); } }.start(); } }); ((Button) findViewById(R.id.button2)).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { new Thread() { @Override public void run() { String path = getPath(); if (path == null) { return; } textAppend("正在检查是否有备份的安装文件!\n"); if (!new File("/data/local/tmp/com.tencent.mm").exists()) { textAppend("不存在备份的安装文件,请先安装低版本微信后点击【覆盖安装文件并重启】按钮!\n"); return; } textAppend("已有备份的安装文件,正在删除当前的安装目录!\n"); ShellUtils.CommandResult result = ShellUtils.execCommand("rm -rf " + path + "/*", true); putResult(result); if (!isEnpty(result.errorMsg)) { return; } textAppend("正在覆盖安装目录!\n"); result = ShellUtils.execCommand("cp -af /data/local/tmp/com.tencent.mm/* " + path, true); ShellUtils.execCommand("rm -rf /data/local/tmp/com.tencent.mm", true); putResult(result); if (!isEnpty(result.errorMsg)) { return; } textAppend("系统将在10秒后重启!\n"); try { sleep(10 * 1000); handler.post(new Runnable() { @Override public void run() { ShellUtils.execCommand("reboot", true); } }); } catch (InterruptedException e) { e.printStackTrace(); } } }.start(); } }); textView.append("-----------------------------\n"); textView.append("该应用需要root权限!\n"); if (ShellUtils.checkRootPermission()) { textView.append("获取root权限成功!\n"); } else { textView.append("获取root权限失败,请在设置中授予权限!\n"); } }} |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |