Giu*_*ato 3 android android-intent accessibilityservice
我有一个扩展AccessibilityService的类,并且在发生某些事件时会启动活动。
问题在于活动结束时,应将数据发送回“ AccessibilityService”。有谁知道如何做到这一点?
例:
public class MyAccessibilityService extends AccessibilityService {
@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
if (event.getEventType()==AccessibilityEvent.TYPE_VIEW_TEXT_CHANGED){
Intent intent=new Intent(getApplicationContext(),DialogActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
// String resul=set result When Activity is closed
}
}
Run Code Online (Sandbox Code Playgroud)
提前致谢!
AccesibilityService is an inherited class from Service class. So we can refer that question to this: How to have Android Service communicate with Activity
The easiest way for your question:
1)在Activity的onDestroy()方法中调用startService():
@Override
protected void onDestroy() {
super.onDestroy();
Intent intent = new Intent(getApplicationContext(), MyAccessibilityService.class);
intent.putExtra("data","yourData");
startService(intent);
}
Run Code Online (Sandbox Code Playgroud)
2)覆盖MyAccessibilityService的onStartCommand()方法:
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
super.onStartCommand(intent, flags, startId);
String data="";
if(intent.getExtras().containsKey("data"))
data = intent.getStringExtra("data");
return START_STICKY;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1447 次 |
| 最近记录: |