Android 如何将数据从活动发送回AccessibilityService?

Android 如何将数据从活动发送回AccessibilityService?,android,android-intent,accessibilityservice,Android,Android Intent,Accessibilityservice,我有一个扩展AccessibilityService的类,当有某个事件时,它会启动一个活动 问题是,当活动结束时,它应该将数据发送回“AccessibilityService”。有人知道怎么做吗 例如: public class MyAccessibilityService extends AccessibilityService { @Override public void onAccessibilityEvent(AccessibilityEvent event) {

我有一个扩展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
        }
    }

提前谢谢

AccessibilityService是从服务类继承的类。所以我们可以把这个问题提到:

回答问题的最简单方法是:

1) 在活动的onDestroy()方法中调用startService():

2) 重写MyAccessibilityService的onStartCommand()方法:

1) 在任何活动中,从辅助功能服务中调用startActivity(intent)

    String msg = "your message";
    Intent intent = new Intent(serviceContext, activityClassName.class);
    intent.putExtra("message",msg);
    startActivity(intent);
2) 现在,在activities onCreate(Bundle)方法中,您可以获得意图

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Intent intent = getIntent();
        String msg = intent.getStringExtra("message");
        Log.e(LOG_TAG,"Message From Service - "+msg); //Message From Service - your message
    }

使用Intent,您可以将数据从服务传递到活动。

这是最简单的方法。确保您发送的数据是并行的。另一个选项是通过活页夹,如本文所述,服务将自动启动。那么,我们如何将数据传递给辅助功能服务@negative_zero呢?问题是要做完全相反的事情。
    String msg = "your message";
    Intent intent = new Intent(serviceContext, activityClassName.class);
    intent.putExtra("message",msg);
    startActivity(intent);
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Intent intent = getIntent();
        String msg = intent.getStringExtra("message");
        Log.e(LOG_TAG,"Message From Service - "+msg); //Message From Service - your message
    }