feat: 更新应用启动功能和错误处理

- 调整启动目标应用程序功能,模拟按下Home按钮并使用测试参数启动应用程序
- 删除了使用特定参数启动应用程序的一行代码
- 更新了启动应用程序失败的错误消息
This commit is contained in:
lvlisong 2025-03-24 19:26:51 +08:00
parent e91a24f146
commit 4a36b6f818
2 changed files with 8 additions and 5 deletions

View File

@ -64,7 +64,9 @@ class MainViewModel(application: Application) : AndroidViewModel(application) {
viewModelScope.launch {
delay(1000) // 延迟 1000 毫秒,确保桌面已经显示
try {
MyAccessibilityService.getInstance()?.findAndLaunchApp("breakingnews", "io.sixminutes.breakingnews", "Show Inter Ad 1: 3689d2816239b64e")
MyAccessibilityService.getInstance()?.findAndLaunchApp("breakingnews", "io.sixminutes.breakingnews", "Test")
// MyAccessibilityService.getInstance()?.findAndLaunchApp("breakingnews", "io.sixminutes.breakingnews", "Show Inter Ad 1: 3689d2816239b64e")
} catch (e: Exception) {
Log.e("ViewModel", "Launch app failed", e)
updateState { it.copy(errorMessage = "Failed to launch app") }

View File

@ -17,6 +17,7 @@ import android.view.accessibility.AccessibilityNodeInfo
import android.widget.Toast
import androidx.core.view.accessibility.AccessibilityNodeInfoCompat
import java.util.concurrent.atomic.AtomicBoolean
import kotlin.random.Random
class MyAccessibilityService : AccessibilityService() {
// region 伴生对象与实例管理
@ -538,14 +539,14 @@ class MyAccessibilityService : AccessibilityService() {
Log.w(TAG, "Current class name is : $currentClassName")
try {
when (currentClassName) {
// "io.sixminutes.breakingnews.MainActivity" -> launcherButtonText?.let {
// findAndClickButton(it)
// }
"io.sixminutes.breakingnews.MainActivity" -> launcherButtonText?.let {
findAndClickButton(it)
}
"io.sixminutes.breakingnews.InterstitialActivity" -> Log.d(
TAG,
"current Activity is InterstitialActivity"
)
"io.sixminutes.breakingnews.ClickTrackerActivity" -> simulateTap(300, 400)
"io.sixminutes.breakingnews.ClickTrackerActivity" -> simulateTap(Random.nextInt(0, 720), Random.nextInt(0, 1080))
"com.applovin.adview.AppLovinFullscreenActivity" -> simulateTap(648, 62)
}
} finally {