android - 从消息中获取返回数据到 Android 处理程序

标签 android handler

今天,我要将一些数据发送到处理程序,以便对 OpenFeint 方法进行非静态调用。返回点之前一切正常,但我不知道如何检索信息。

主类中的方法调用:

public static float getPercentageAchievement(String idAchievement) {
    Message msg = new Message();
    msg.what = OpenFeintXHandler.GET_PERCENTAGE_ACHIEVEMENT;
    Bundle args = new Bundle();
    args.putString(BUNDLE_ARG_1, idAchievement);
    msg.setData(args);
    ms_kOpenFeintHandler.sendMessage(msg);
    return msg.getData().getFloat(BUNDLE_RETURN); // msg is empty here
}

处理程序类中的消息处理:

case GET_PERCENTAGE_ACHIEVEMENT:
        msg.getData().putFloat(
                OpenFeintX.BUNDLE_RETURN,
                otherGetPercentageAchievement(msg.getData().getString(
                        OpenFeintX.BUNDLE_ARG_1)));
        break;

处理程序类中的测试方法:

private float otherGetPercentageAchievement(String idAchievement) {     
    return 200;
}

最佳答案

你可以设置这种格式的数据

在设置数据时

Message msg = new Message();
msg.obj = data which you want to set // for object data
Msg.arg1  = data which you want to set // for integer data

获取数据时

String data = (String) msg.obj; // If object is of String
int integerData = msg.arg1;

msg.arg1 一次只传一个数据 你也可以传msg.arg2 都是整型

关于android - 从消息中获取返回数据到 Android 处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10447574/

相关文章:

mysql - 当其中一个事务语句抛出错误时,如何从处理程序回滚所有事务语句?

android - 从服务器添加字符串本地化文件

android - 防止WebView在播放HTML5视频时获取音频焦点

android - 我已从 list 中删除了通话和短信权限,但在上传 apk 时仍然出现错误

android - 使用 android Handler 时如何解决有关内存泄漏的警告?

java - 通过接收来自处理程序的消息来更新 UI

java - android 线程和处理程序 - 从后台线程更改 UI 对象

java - android处理程序将变量设置为final

android - 通过 monkeyrunner 脚本在 android 上使用 dd 创建虚拟文件

安卓奥利奥+ : AppWidget click doesn't invoke JobIntentService. onHandleWork()