This commit is contained in:
844143714@qq,com 2026-05-07 13:37:51 +08:00
parent dbb09bbf78
commit dd01f15497
4 changed files with 13 additions and 3 deletions

View File

@ -486,7 +486,7 @@ public class CallBackResolution {
}; };
executor.scheduleAtFixedRate(task, 0, 40, TimeUnit.SECONDS); executor.scheduleAtFixedRate(task, 0, 40, TimeUnit.SECONDS);
} else if (tempTxt.contains("账号已更新")) { } else if (tempTxt.contains("账号已更新")) {
com.stand.standapp.MainActivity.showPttUpdateDialog(); // com.stand.standapp.MainActivity.showPttUpdateDialog();
} else if (tempTxt.contains("账号或密码错误")) { } else if (tempTxt.contains("账号或密码错误")) {
CallBackUtil.callBackLogin(false, ""); CallBackUtil.callBackLogin(false, "");
}else if (tempTxt.contains("请配置账号")) { }else if (tempTxt.contains("请配置账号")) {

View File

@ -17,6 +17,10 @@ class MainActivity : AppCompatActivity() {
companion object { companion object {
private var instance: MainActivity? = null private var instance: MainActivity? = null
// 防止对话框堆叠
@Volatile
private var isConflictDialogShowing = false
// 待执行的 JS 代码(由 bridge.js 轮询获取) // 待执行的 JS 代码(由 bridge.js 轮询获取)
@Volatile @Volatile
private var pendingJsCode: String? = null private var pendingJsCode: String? = null
@ -54,6 +58,8 @@ class MainActivity : AppCompatActivity() {
@JvmStatic @JvmStatic
fun showPttConflictDialog() { fun showPttConflictDialog() {
if (isConflictDialogShowing) return
isConflictDialogShowing = true
instance?.runOnUiThread { instance?.runOnUiThread {
val ctx = instance ?: return@runOnUiThread val ctx = instance ?: return@runOnUiThread
androidx.appcompat.app.AlertDialog.Builder(ctx) androidx.appcompat.app.AlertDialog.Builder(ctx)
@ -63,12 +69,15 @@ class MainActivity : AppCompatActivity() {
.setPositiveButton("确认") { _, _ -> .setPositiveButton("确认") { _, _ ->
com.stand.standapp.utils.AppKiller.killApp(ctx, restart = true) com.stand.standapp.utils.AppKiller.killApp(ctx, restart = true)
} }
.setOnDismissListener { isConflictDialogShowing = false }
.show() .show()
} }
} }
@JvmStatic @JvmStatic
fun showPttUpdateDialog() { fun showPttUpdateDialog() {
if (isConflictDialogShowing) return
isConflictDialogShowing = true
instance?.runOnUiThread { instance?.runOnUiThread {
val ctx = instance ?: return@runOnUiThread val ctx = instance ?: return@runOnUiThread
androidx.appcompat.app.AlertDialog.Builder(ctx) androidx.appcompat.app.AlertDialog.Builder(ctx)
@ -78,6 +87,7 @@ class MainActivity : AppCompatActivity() {
.setPositiveButton("确认") { _, _ -> .setPositiveButton("确认") { _, _ ->
com.stand.standapp.utils.AppKiller.killApp(ctx, restart = true) com.stand.standapp.utils.AppKiller.killApp(ctx, restart = true)
} }
.setOnDismissListener { isConflictDialogShowing = false }
.show() .show()
} }
} }

View File

@ -39,7 +39,7 @@ object AppKiller {
if (!isCrash) { if (!isCrash) {
try { try {
Thread.sleep(200) Thread.sleep(50)
} catch (e: Exception) {} } catch (e: Exception) {}
} }
@ -57,7 +57,7 @@ object AppKiller {
val flags = android.app.PendingIntent.FLAG_ONE_SHOT or android.app.PendingIntent.FLAG_IMMUTABLE val flags = android.app.PendingIntent.FLAG_ONE_SHOT or android.app.PendingIntent.FLAG_IMMUTABLE
val pendingIntent = android.app.PendingIntent.getActivity(context, 223344, intent, flags) val pendingIntent = android.app.PendingIntent.getActivity(context, 223344, intent, flags)
val mgr = context.getSystemService(Context.ALARM_SERVICE) as android.app.AlarmManager val mgr = context.getSystemService(Context.ALARM_SERVICE) as android.app.AlarmManager
mgr.set(android.app.AlarmManager.RTC, System.currentTimeMillis() + 500, pendingIntent) mgr.set(android.app.AlarmManager.RTC, System.currentTimeMillis() + 100, pendingIntent)
} }
} catch (e: Exception) {} } catch (e: Exception) {}
} }