1

サービスにバンドルを送信しようとしています。これが私がサービスを呼び出す方法です。

1)    Bundle bundle = new Bundle();
2)    bundle.putParcelable("bitmap", bmp);       //    <--- problem
3)    bundle.putString("type", "SingleImage");

4)    Intent intent = new Intent(getApplicationContext(),SyncService.class);
5)    intent.putExtra("imageUploadBundle", bundle);
6)    startService(intent);

コメントline 2すると、サービスが呼び出されます。しかし、その行にコメントを付けないと、サービスは呼び出されません。bitmap to the serviceサーバーにアップロードする を送信したい。ビットマップをサービスに送信するにはどうすればよいですか? この問題の原因は何ですか?

4

1 に答える 1

2

このように行バイト配列を送信してみてください。

ByteArrayOutputStream stream = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();

Bundle bundle = new Bundle();
bundle.putByteArray("bitmap", byteArray);
bundle.putString("type", "SingleImage");

Intent intent = new Intent(getApplicationContext(),SyncService.class);
intent.putExtra("imageUploadBundle", bundle);
startService(intent);
于 2013-06-27T07:54:38.097 に答える