0
我想將它傳遞給sendMessage()
後創建的AsyncTask線程捆綁對象,它仍然不受變化做data
( 我的代碼調用sendMessage()
後立即刪除在data
值,但我需要的是價值被送到服務器。 有人建議一種有效的方式,這樣,一旦data
傳遞(它被複制中,對於沒有更好的詞)來發送消息的持續時間和被摧毀自身。
CODE如何將一個Bundle傳遞給另一個對象(僅限於AsyncTask Thread)?
public void sendMessage(final Bundle data)
{
sendTask = new AsyncTask<Void, Void, String>()
{
@Override
protected String doInBackground(Void... params)
{
String id = Integer.toString(msgId.incrementAndGet());
try
{
Log.d(TAG, "message_id: " + id);
gcm.send(PROJECT_NUMBER + "@gcm.googleapis.com", id, data);
}
catch (Exception e)
{
Log.d(TAG, "Exception: " + e);
e.printStackTrace();
}
return "GCM send is a success";
}
@Override
protected void onPostExecute(String result)
{
super.onPostExecute(result);
sendTask = null;
Log.d(TAG, "Result = " + result);
Toast.makeText(getActivity(), result, Toast.LENGTH_SHORT).show();
}
};
sendTask.execute();
}
是的,我知道,但我想知道這種方法是否使params [0]免於對數據做任何修改? –