Accessibility Service和Activity之间的通信



我正在为我的问题寻找答案,但我在任何地方都找不到。

我有一个正在运行的AccessibilityService,我想将其中的信息发送到MainActivity。

我一直在尝试使用Messenger类来完成此操作,但我做不到。

有人能帮我做吗?

我已经把这个代码放在主活动中:

class IncomingHandler extends Handler {
    @Override
    public void handleMessage(Message msg) { 
        switch (msg.what) {
        case NoficationService.MSG_ENCENDER:
            // Envía "1".
            String message = "1";
            mApp1.sendData(message);
            break;
        default:
            super.handleMessage(msg);
        }
    }
}

在MainActivity中,我有以下代码:

try {
            Message msg = Message.obtain(null, NoficationService.MSG_ENCENDER, 0, 0);
            msg.replyTo = mMessenger;
            mService.send(msg);
            Log.d(tag, "Enviado Msg");
        } catch (RemoteException e) {
            Log.d(tag, "Excepción Msg");
        }

正在等待您的帮助。提前谢谢!

尝试使用广播:

public final static String BROADCAST_ACTION = "com.packegeName";

1) 在您的活动中注册广播:

BroadcastReceiver  br = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
        // proccess messages
}
}

IntentFilter intFilt = new IntentFilter(BROADCAST_ACTION); 
registerReceiver(br, intFilt);

2) 从接入服务发送广播

Intent intent = new Intent(MainActivity.BROADCAST_ACTION);
intent.putExtra(MainActivity.PARAM_STATUS, MainActivity.STATUS_FINISH);
intent.putExtra(MainActivity.PARAM_RESULT, time * 100);
sendBroadcast(intent);

相关内容

  • 没有找到相关文章

最新更新