要将数据从我的服务传递到我的意图,我使用以下代码:
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。我怎样才能确保将String值传递给我的Intent?
答案 0 :(得分:2)
你可以创建一个Bundle并在该bundle中放入多个值然后传递它。
Bundle bundle = new Bundle();
bundle.putString("name", str);
message.setData(bundle);