可打包的自定义处理程序,消息从未收到

费尔南多

我想打包一个Handler对象,以通过Bundle将其从一个Activity发送到服务,以便从该服务中获取一些信息。

现在,对其进行测试,这是一条简单的消息。这是活动中的代码:

private MyHandler mHandlerSharing = new MyHandler() {
    public void handleMessage(Message msg) {
        // this line in the Activity is never reached when debugging
        String data = msg.getData().getString("data");
        Toast.makeText(mContext, data, Toast.LENGTH_SHORT).show();
    }
};

// in some function
mSecureSharing.putExtra(Constants.HANDLER, (Parcelable) mHandlerSharing);

然后,在Service onStartCommandMetehod中,执行以下操作:

    MyHandler myHandler = (MyHandler) intent.getExtras().getParcelable(Constants.HANDLER);
    Message msgObj = myHandler.obtainMessage();
    Bundle b = new Bundle();
    b.putString("data", "SecureSharing running");
    msgObj.setData(b);
    myHandler.sendMessage(msgObj);

MyHandler类如下:

import android.os.Handler;
import android.os.Parcel;
import android.os.Parcelable;

public class MyHandler extends Handler implements Parcelable{
private int mData;

public MyHandler(){
    super();
}

public int describeContents() {
    return 0;
}

public void writeToParcel(Parcel out, int flags) {
    out.writeInt(mData);
}

public static final Parcelable.Creator<MyHandler> CREATOR = new Parcelable.Creator<MyHandler>() {
    public MyHandler createFromParcel(Parcel in) {
        return new MyHandler(in);
    }

    public MyHandler[] newArray(int size) {
        return new MyHandler[size];
    }
};

private MyHandler(Parcel in) {
    mData = in.readInt();
}

}

该服务接收自定义处理程序,但从不接收,但从类Handler调用sendMessage方法,但Activity从未接收到该消息...

对于MyHandler类,我基本上使用了android开发人员站点中的代码,并添加了Handler继承以及构造函数。

有什么事吗

提前致谢!

Shubhang Malviya

我假设您希望您的活动与服务进行通信,这些可以是您的选择:

  1. 使用ResultReceiver,可以在此处找到示例
  2. 使用LocalBroadcastReceiver示例可以在这里找到
  3. 您可以使用活页夹将服务绑定到活动示例,可以在此处找到示例
  4. 如果要使用RPC,则应与Messanger一起使用,此处此处都可以找到示例
  5. 对于RPC,您还可以使用AIDL文件的示例,可以在此处找到,当然也可以开发人员站点找到

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我的表格从未收到过发布的自定义消息

来自分类Dev

我的表单从未收到过发布的自定义消息

来自分类Dev

Android上的处理程序未收到消息

来自分类Dev

Akka自定义记录器未收到某些消息

来自分类Dev

Akka自定义记录器未收到某些消息

来自分类Dev

RabbitMQ死信交换从未收到消息

来自分类Dev

RabbitMQ死信交换从未收到消息

来自分类Dev

为什么会收到错误消息,说明我的自定义日志记录处理程序“没有属性'level`”?

来自分类Dev

我的CGI脚本未收到自定义标头

来自分类Dev

使用自定义消息处理错误?

来自分类Dev

自定义SignalR以处理原始消息

来自分类Dev

是否未收到WH_KEYBOARD_LL处理程序的SetWindowsHookEx PostThreadMessage消息?

来自分类Dev

处理程序未收到 BatteryState 通知

来自分类Dev

Rails 4,添加自定义布局,收到错误消息

来自分类Dev

在Mac上未收到有关自定义记录区的CloudKit推送通知

来自分类Dev

Webpack自定义解析插件:回调未收到所需的路径

来自分类Dev

数据包套接字未收到自定义协议ID的数据

来自分类Dev

自定义OpenVPN客户端未收到TLS ServerHello

来自分类Dev

在超级视图中嵌入的自定义UIView中未收到Tap Gesture Recognizer

来自分类Dev

每个路由和全局ASP.NET Web API自定义消息处理程序

来自分类Dev

如何使用自定义处理程序使Python日志记录消息出现在模块中

来自分类Dev

使用自定义错误处理程序时如何从中止命令访问错误消息

来自分类Dev

如何在Android上自定义Qt消息处理程序

来自分类Dev

如何在Spring Integration自定义消息处理程序中自动装配bean?

来自分类Dev

如何使用自定义处理程序使Python日志记录消息出现在模块中

来自分类Dev

在自定义消息处理程序教程中尝试演示时发生JIRA错误

来自分类Dev

如何在Spring Integration自定义消息处理程序中自动装配bean?

来自分类Dev

Matlab自定义dbstop处理程序

来自分类Dev

自定义标签处理程序

Related 相关文章

  1. 1

    我的表格从未收到过发布的自定义消息

  2. 2

    我的表单从未收到过发布的自定义消息

  3. 3

    Android上的处理程序未收到消息

  4. 4

    Akka自定义记录器未收到某些消息

  5. 5

    Akka自定义记录器未收到某些消息

  6. 6

    RabbitMQ死信交换从未收到消息

  7. 7

    RabbitMQ死信交换从未收到消息

  8. 8

    为什么会收到错误消息,说明我的自定义日志记录处理程序“没有属性'level`”?

  9. 9

    我的CGI脚本未收到自定义标头

  10. 10

    使用自定义消息处理错误?

  11. 11

    自定义SignalR以处理原始消息

  12. 12

    是否未收到WH_KEYBOARD_LL处理程序的SetWindowsHookEx PostThreadMessage消息?

  13. 13

    处理程序未收到 BatteryState 通知

  14. 14

    Rails 4,添加自定义布局,收到错误消息

  15. 15

    在Mac上未收到有关自定义记录区的CloudKit推送通知

  16. 16

    Webpack自定义解析插件:回调未收到所需的路径

  17. 17

    数据包套接字未收到自定义协议ID的数据

  18. 18

    自定义OpenVPN客户端未收到TLS ServerHello

  19. 19

    在超级视图中嵌入的自定义UIView中未收到Tap Gesture Recognizer

  20. 20

    每个路由和全局ASP.NET Web API自定义消息处理程序

  21. 21

    如何使用自定义处理程序使Python日志记录消息出现在模块中

  22. 22

    使用自定义错误处理程序时如何从中止命令访问错误消息

  23. 23

    如何在Android上自定义Qt消息处理程序

  24. 24

    如何在Spring Integration自定义消息处理程序中自动装配bean?

  25. 25

    如何使用自定义处理程序使Python日志记录消息出现在模块中

  26. 26

    在自定义消息处理程序教程中尝试演示时发生JIRA错误

  27. 27

    如何在Spring Integration自定义消息处理程序中自动装配bean?

  28. 28

    Matlab自定义dbstop处理程序

  29. 29

    自定义标签处理程序

热门标签

归档