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)));
        };
    };

しかし、現時点では、ご覧のとおり、intであるarg1のみを取得しています。文字列値をインテントに渡していることを確認するにはどうすればよいですか?

4

1 に答える 1

3

Bundle を作成し、そのバンドル内に複数の値を入れてから渡すことができます。

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