Вот мой AndroidManifest.XML
Код: Выделить всё
Код: Выделить всё
Код: Выделить всё
package com.example.DDDsms
import android.accessibilityservice.AccessibilityService
import android.accessibilityservice.AccessibilityServiceInfo
import android.annotation.SuppressLint
import android.view.accessibility.AccessibilityEvent
import android.view.accessibility.AccessibilityNodeInfo
@SuppressLint("AccessibilityPolicy")
class MyAccessibilityService : AccessibilityService() {
override fun onAccessibilityEvent(event: AccessibilityEvent) {
//TYPE_WINDOW_STATE_CHANGED == 32
if (AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED == event
.eventType
) {
val nodeInfo = event.source ?: return
var list = nodeInfo.findAccessibilityNodeInfosByText("Force stop")
//var list = nodeInfo.findAccessibilityNodeInfosByViewId("com.android.settings:id/force_stop_button")
//We can find button using button name or button id
for (node in list) {
node.performAction(AccessibilityNodeInfo.ACTION_CLICK)
}
//list = nodeInfo
// .findAccessibilityNodeInfosByViewId("android:id/button1")
list = nodeInfo.findAccessibilityNodeInfosByText("OK");
for (node in list) {
node.performAction(AccessibilityNodeInfo.ACTION_CLICK)
}
}
}
override fun onInterrupt() {
// TODO Auto-generated method stub
}
// Override onServiceConnected to configure service if needed
override fun onServiceConnected() {
super.onServiceConnected()
// Configuration can be done here or in XML metadata
val info = AccessibilityServiceInfo()
info.eventTypes = AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED
info.notificationTimeout = 100
info.feedbackType = AccessibilityEvent.TYPES_ALL_MASK
setServiceInfo(info)
}
}
...
Код: Выделить всё
checkAndEnableAccessibilityService()
val QuitBtn: Button = findViewById(R.id.quitBtn)
QuitBtn.bringToFront()
QuitBtn.setOnClickListener {
if (!Settings.canDrawOverlays(this)) {
val intent = Intent(
Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
Uri.parse("package:DDDsms")
)
startActivityForResult(intent, 0)
}
val intent = Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
val uri = Uri.fromParts("package", packageName, null)
intent.data = uri
startActivity(intent)
}
...
private fun checkAndEnableAccessibilityService() {
if (!isAccessibilityServiceEnabled()) {
val intent = Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS)
startActivity(intent)
}
}
private fun isAccessibilityServiceEnabled(): Boolean {
return Settings.Secure.getString(contentResolver, Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES)
?.contains("${packageName}/${MyAccessibilityService::class.java.canonicalName}") == true
}
Подробнее здесь: https://stackoverflow.com/questions/798 ... top-at-all
Мобильная версия