我正在为我的问题寻找答案,但我在任何地方都找不到。
我有一个正在运行的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);