package com.blankj.androidutilcode.activity; import android.content.Context; import android.os.Bundle; import android.view.View; import android.widget.TextView; import com.blankj.androidutilcode.Config; import com.blankj.androidutilcode.R; import com.blankj.androidutilcode.base.BaseActivity; import com.blankj.utilcode.util.AppUtils; import com.blankj.utilcode.util.SpannableStringUtils; import com.blankj.utilcode.util.ToastUtils; /** * <pre> * author: Blankj * blog : http://blankj.com * time : 2016/10/13 * desc : App工具类Demo * </pre> */ public class AppActivity extends BaseActivity { @Override public void initData(Bundle bundle) { } @Override public int bindLayout() { return R.layout.activity_app; } @Override public void initView(Bundle savedInstanceState, View view) { findViewById(R.id.btn_install_app).setOnClickListener(this); findViewById(R.id.btn_install_app_silent).setOnClickListener(this); findViewById(R.id.btn_uninstall_app).setOnClickListener(this); findViewById(R.id.btn_uninstall_app_silent).setOnClickListener(this); findViewById(R.id.btn_launch_app).setOnClickListener(this); findViewById(R.id.btn_get_app_details_settings).setOnClickListener(this); TextView tvAboutApp = (TextView) findViewById(R.id.tv_about_app); tvAboutApp.setText(new SpannableStringUtils.Builder().append("app icon: ") .appendLine("").setDrawable(AppUtils.getAppIcon(), SpannableStringUtils.ALIGN_CENTER) .append(AppUtils.getAppInfo().toString()) .appendLine("isAppRoot: " + AppUtils.isAppRoot()) .appendLine("isAppDebug: " + AppUtils.isAppDebug()) .appendLine("AppSignatureSHA1: " + AppUtils.getAppSignatureSHA1()) .appendLine("isAppForeground: " + AppUtils.isAppForeground()) .create()); } @Override public void doBusiness(Context context) { } @Override public void onWidgetClick(View view) { switch (view.getId()) { case R.id.btn_install_app: if (AppUtils.isInstallApp(Config.TEST_PKG)) { ToastUtils.showShort(R.string.app_install_tips); } else { AppUtils.installApp(Config.getTestApkPath(), "com.blankj.androidutilcode.provider"); } break; case R.id.btn_install_app_silent: new Thread(new Runnable() { @Override public void run() { if (AppUtils.isInstallApp(Config.TEST_PKG)) { ToastUtils.showShortSafe(R.string.app_install_tips); } else { if (AppUtils.installAppSilent(Config.getTestApkPath())) { ToastUtils.showShortSafe(R.string.install_successfully); } else { ToastUtils.showShortSafe(R.string.install_unsuccessfully); } } } }).start(); break; case R.id.btn_uninstall_app: if (AppUtils.isInstallApp(Config.TEST_PKG)) { AppUtils.uninstallApp(Config.TEST_PKG); } else { ToastUtils.showShort(R.string.app_uninstall_tips); } break; case R.id.btn_uninstall_app_silent: if (AppUtils.isInstallApp(Config.TEST_PKG)) { if (AppUtils.uninstallAppSilent(Config.TEST_PKG, false)) { ToastUtils.showShort(R.string.uninstall_successfully); } else { ToastUtils.showShort(R.string.uninstall_unsuccessfully); } } else { ToastUtils.showShort(R.string.app_uninstall_tips); } break; case R.id.btn_launch_app: AppUtils.launchApp(this.getPackageName()); break; case R.id.btn_get_app_details_settings: AppUtils.getAppDetailsSettings(); break; } } }