Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用httpConnection发送彩信-将图像添加到PDU_Android_Mms - Fatal编程技术网

Android 使用httpConnection发送彩信-将图像添加到PDU

Android 使用httpConnection发送彩信-将图像添加到PDU,android,mms,Android,Mms,我能够从和使用DK的代码示例发送彩信。我想在MMSPart类中添加一个图像。我认为mimetype将是“image/jpeg”(如果我完全在这方面工作,请纠正我),但是如何将图像放入数据参数-我是否需要将图像读入fileInputStream或bitmapfactory并将.Data值设置为它 更新-尝试了朝日的代码,我想我离更新越来越近了,但现在我遇到了内存不足错误。这是来自logcat的信息 --首先这个-- --那么这个-- 未捕获处理程序:由于未捕获异常,线程主线程正在退出 java.l

我能够从和使用DK的代码示例发送彩信。我想在MMSPart类中添加一个图像。我认为mimetype将是“image/jpeg”(如果我完全在这方面工作,请纠正我),但是如何将图像放入数据参数-我是否需要将图像读入fileInputStream或bitmapfactory并将.Data值设置为它

更新-尝试了朝日的代码,我想我离更新越来越近了,但现在我遇到了内存不足错误。这是来自logcat的信息

--首先这个--

--那么这个--

未捕获处理程序:由于未捕获异常,线程主线程正在退出
java.lang.OutOfMemoryError
位于java.lang.AbstractStringBuilder。(AbstractStringBuilder.java:85)
位于java.lang.StringBuilder。(StringBuilder.java:69)
在java.util.Arrays.toString(Arrays.java:2659)
位于com.market.mmsapp.HttpUtils.httpConnection(HttpUtils.java:88)
位于com.market.mmsapp.slimMmsActivity.UploadFile(slimMmsActivity.java:132)
在com.market.mmsapp.slimMmsActivity.onCreate(slimMmsActivity.java:46)上
位于android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2364)上
位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2417)
在android.app.ActivityThread.access$2100(ActivityThread.java:116)
在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)
位于android.os.Handler.dispatchMessage(Handler.java:99)
位于android.os.Looper.loop(Looper.java:123)
位于android.app.ActivityThread.main(ActivityThread.java:4203)
位于java.lang.reflect.Method.Invokenactive(本机方法)
位于java.lang.reflect.Method.invoke(Method.java:521)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)上
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
在dalvik.system.NativeStart.main(本机方法)

谢谢您的帮助。

您可以这样做:

ByteArrayOutputStream os = new ByteArrayOutputStream();
Bitmap b =  Media.getBitmap(getContentResolver(), bitmapUri);

b.compress(CompressFormat.JPEG, 90, os);

mmsPart.Name = fileName;
mmsPart.MimeType = "image/jpeg";
mmsPart.Data = os.toByteArray(); 

谢谢我尝试了一下,但是现在我得到了一个java.lang.OutOfMemory错误。我正在加载的图像是70K。我想知道彩信的文件大小是否有限制。我会继续尝试。这对你有用吗?是的,上面的代码来自一个正在工作的应用程序。你能发布日志吗?谢谢-我在上面的问题中添加了日志。我知道了。这是图像大小。我调整了它的大小,它工作了。有时操作员会限制附件的大小。除此之外,我不知道
Uncaught handler: thread main exiting due to uncaught exception
java.lang.OutOfMemoryError
at java.lang.AbstractStringBuilder.<init>(AbstractStringBuilder.java:85)
at java.lang.StringBuilder.<init>(StringBuilder.java:69)
at java.util.Arrays.toString(Arrays.java:2659)
at com.market.mmsapp.HttpUtils.httpConnection(HttpUtils.java:88)
at com.market.mmsapp.slimMmsActivity.UploadFile(slimMmsActivity.java:132)
at com.market.mmsapp.slimMmsActivity.onCreate(slimMmsActivity.java:46)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2364)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2417)
at android.app.ActivityThread.access$2100(ActivityThread.java:116)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4203)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
at dalvik.system.NativeStart.main(Native Method)
ByteArrayOutputStream os = new ByteArrayOutputStream();
Bitmap b =  Media.getBitmap(getContentResolver(), bitmapUri);

b.compress(CompressFormat.JPEG, 90, os);

mmsPart.Name = fileName;
mmsPart.MimeType = "image/jpeg";
mmsPart.Data = os.toByteArray();