1

要将数据从我的服务传递到我的意图,我使用以下代码:

private String stringVar;
    Bundle extras = intent.getExtras();
            if (extras != null) {
                Messenger messenger = (Messenger) extras.get("MESSENGER");

                try {

                    Message message = new Message();

                    int arg = var;
                    message.arg1 = arg;

                                //how can i add stringVar?

                    messenger.send(message);
                } catch (android.os.RemoteException e1) {
                    Log.w(getClass().getName(), "Exception sending message", e1);
                }
            }

并在活动中:

private Handler handler = new Handler() {
        public void handleMessage(Message message) {

            int i = message.arg1;

            Log.e("Handler", "Succesfully transfered: " + (Integer.toString(i)));
        };
    };

但是现在你可以看到我只检索 arg1,它是一个 int。我怎样才能确保我将字符串值传递给我的 Intent?

4

1 回答 1

3

您可以创建一个 Bundle 并将多个值放入该包中,然后将其传递。

Bundle bundle = new Bundle();
bundle.putString("name", str);
message.setData(bundle);
于 2013-03-15T16:25:17.223 回答