diff --git a/app/src/main/java/com/duolebo/blyrobot/MainActivity.kt b/app/src/main/java/com/duolebo/blyrobot/MainActivity.kt index ce0912723af66e027b442b55bde5537442b2ee59..676feebc44a0b9deca23bc5b4d82adeb8571e47a 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 df0479b5a3cfeb4843a93536d69a3ed352bf00c3..b5bd058510c14b4e1a81482d0b5ac5a1bb97629d 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 c2aefc7eb5d37fe31f81d9f3b815eded0ddcaef9..89b235df39974e49f18f22e0ca735c651e2c6a6c 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 5e4fc1402e669192c38f9324b37fa5fa86745f07..0e47214b34150b4ea77ef147d1e5fbb208ca642c 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="刷新应用列表"/> + +