From 9b72634a3cebf4b59c14a995091497f73c8d206a Mon Sep 17 00:00:00 2001 From: liuyang Date: Tue, 20 Nov 2018 18:45:45 +0800 Subject: [PATCH] =?UTF-8?q?APK=E6=8A=93=E5=8C=85>=E4=BB=8E=E9=A2=91?= =?UTF-8?q?=E9=81=931=E5=BC=80=E5=A7=8B=E4=BE=9D=E6=AC=A1=E6=8A=93?= =?UTF-8?q?=E5=8F=96,=20=E5=A2=9E=E5=8A=A0=E6=89=8B=E5=8A=A8=E6=B8=85?= =?UTF-8?q?=E7=90=86=E5=9B=BE=E7=89=87=E7=BC=93=E5=AD=98=20#BYLSERVER-1693?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/duolebo/blyrobot/MainActivity.kt | 4 ++ .../duolebo/blyrobot/ui/AppConfigListItem.kt | 2 +- .../java/com/duolebo/blyrobot/util/AppUtil.kt | 47 ++++++++++++++++++- app/src/main/res/layout/activity_main.xml | 7 +++ 4 files changed, 57 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/duolebo/blyrobot/MainActivity.kt b/app/src/main/java/com/duolebo/blyrobot/MainActivity.kt index ce09127..676feeb 100644 --- a/app/src/main/java/com/duolebo/blyrobot/MainActivity.kt +++ b/app/src/main/java/com/duolebo/blyrobot/MainActivity.kt @@ -88,6 +88,10 @@ class MainActivity : AppCompatActivity(), IAppBaseCallback { this.appInfoAdapter.clear() requestAppList() } + + clearBtn.setOnClickListener { + AppUtil.clearCache() + } } private fun start() { diff --git a/app/src/main/java/com/duolebo/blyrobot/ui/AppConfigListItem.kt b/app/src/main/java/com/duolebo/blyrobot/ui/AppConfigListItem.kt index df0479b..b5bd058 100644 --- a/app/src/main/java/com/duolebo/blyrobot/ui/AppConfigListItem.kt +++ b/app/src/main/java/com/duolebo/blyrobot/ui/AppConfigListItem.kt @@ -22,7 +22,7 @@ class AppConfigListItem(context: Context?) : RelativeLayout(context) { else if (!apkInfo.monitoring) tips = "(监播未启用)" this.appName.text = apkInfo.name + tips - this.packageName.text = apkInfo.packageName + this.packageName.text = "包名:${apkInfo.packageName}\t\t版本:" + AppUtil.getVersionName(context, apkInfo.packageName) } fun setIcon(drawable: Drawable) { diff --git a/app/src/main/java/com/duolebo/blyrobot/util/AppUtil.kt b/app/src/main/java/com/duolebo/blyrobot/util/AppUtil.kt index c2aefc7..89b235d 100644 --- a/app/src/main/java/com/duolebo/blyrobot/util/AppUtil.kt +++ b/app/src/main/java/com/duolebo/blyrobot/util/AppUtil.kt @@ -14,9 +14,13 @@ import android.os.Build import android.os.Environment import java.util.regex.Pattern import android.app.ActivityManager.RunningAppProcessInfo +import java.net.HttpURLConnection import java.nio.file.Files.delete - - +import java.net.HttpURLConnection.HTTP_OK +import java.net.HttpURLConnection.setFollowRedirects +import java.net.URL +import android.R.attr.versionName +import android.content.pm.PackageInfo @@ -224,4 +228,43 @@ object AppUtil { e.printStackTrace() } } + + fun exists(url: String): Boolean { + return try { + HttpURLConnection.setFollowRedirects(false) + val con = URL(url).openConnection() as HttpURLConnection + con.requestMethod = "HEAD" + con.responseCode == HttpURLConnection.HTTP_OK + } catch (e: Exception) { + e.printStackTrace() + false + } + } + + fun getVersionName(context: Context, packageName: String): String { + val manager = context.packageManager + var name = "" + try { + val info = manager.getPackageInfo(packageName, 0) + name = info.versionName + } catch (e: PackageManager.NameNotFoundException) { + e.printStackTrace() + } + + return name + } + + fun clearCache() { + val path = getAbsoluteSdcardPath() + "/upload/" + val dir = File(path) + if (dir.exists()) { + for (subDir in dir.listFiles()) { + if (subDir.isDirectory) { + for (file in subDir.listFiles()) { + file.delete() + } + } + } + } + } } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 5e4fc14..0e47214 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -40,6 +40,13 @@ android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:text="刷新应用列表"/> + +