android email 邮件转发 附件不能转发问题的解决
2012-01-07 15:59
435 查看
最近碰到android email 邮件转发 附件不能转发问题,然后就仔细研究后,发现这个问题的解决很简单,所以对其进行了解决,并在自己的机子上进行了测试,下面我把代码给大家发出来。
在MessageCompose.java类中添加这两个方法:
private boolean findAttachmentWithMessageId(Context context,long messageId){
Uri uri = ContentUris.withAppendedId(Attachment.MESSAGE_ID_URI,messageId);
Cursor c = context.getContentResolver().query(uri,Attachment.CONTENT_PROJECTION,null,null,null);
boolean allAttachmentsDownload = true;
try{
int count = c.getCount();
for(int i = 0;i<count;++i){
c.moveToNext();
final Attachment attachment = new Attachment();
attachment.mFileName = c.getString(Attachment.CONTENT_FILENAME_COLUMN);
attachment.mContentUri = c.getString(Attachment.CONTENT_CONTENT_URI_COLUMN);
attachment.mSize = c.getLong(Attachment.CONTENT_SIZE_COLUMN);
attachment.mMimeType = c.getString(Attachment.CONTENT_MIME_TYPE_COLUMN);
if(attachment.mContentUri == null){
allAttachmentsDownload = false;
continue;
}
mHandler.post(new Runnable(){
public void run() {
addAttachment(attachment);
}
});
}
}finally {
c.close();
}
return allAttachmentsDownload;
}
private boolean loadAttachments(Message message,Context context){
return findAttachmentWithMessageId(context,message.mId);
}
在processSourceMessage()方法里面:else if(ACTION_FORWARD.equals(mAction))下
if(!loadAttachments(message,MessageCompose.this)){
mHandler.sendEmaptyMessage(MSG_SKIPPED_ATTACHMENTS);
}这段代码放开。
将MessagingController.java文件
loadAttachment方法里面的:
pruneCachedAttachments(accountId);注销掉
以上就是所修改的东西,改代码经过测试,大家可以放心的使用,谢谢!!!
在MessageCompose.java类中添加这两个方法:
private boolean findAttachmentWithMessageId(Context context,long messageId){
Uri uri = ContentUris.withAppendedId(Attachment.MESSAGE_ID_URI,messageId);
Cursor c = context.getContentResolver().query(uri,Attachment.CONTENT_PROJECTION,null,null,null);
boolean allAttachmentsDownload = true;
try{
int count = c.getCount();
for(int i = 0;i<count;++i){
c.moveToNext();
final Attachment attachment = new Attachment();
attachment.mFileName = c.getString(Attachment.CONTENT_FILENAME_COLUMN);
attachment.mContentUri = c.getString(Attachment.CONTENT_CONTENT_URI_COLUMN);
attachment.mSize = c.getLong(Attachment.CONTENT_SIZE_COLUMN);
attachment.mMimeType = c.getString(Attachment.CONTENT_MIME_TYPE_COLUMN);
if(attachment.mContentUri == null){
allAttachmentsDownload = false;
continue;
}
mHandler.post(new Runnable(){
public void run() {
addAttachment(attachment);
}
});
}
}finally {
c.close();
}
return allAttachmentsDownload;
}
private boolean loadAttachments(Message message,Context context){
return findAttachmentWithMessageId(context,message.mId);
}
在processSourceMessage()方法里面:else if(ACTION_FORWARD.equals(mAction))下
if(!loadAttachments(message,MessageCompose.this)){
mHandler.sendEmaptyMessage(MSG_SKIPPED_ATTACHMENTS);
}这段代码放开。
将MessagingController.java文件
loadAttachment方法里面的:
pruneCachedAttachments(accountId);注销掉
以上就是所修改的东西,改代码经过测试,大家可以放心的使用,谢谢!!!
相关文章推荐
- Email小案例改进版——解决带附件不显示邮件正文问题
- Android4.1.2 Email发送邮件附件中文名乱码问题
- android平台phonegap开发中使用EmailComposer插件发送邮件带附件失败的问题总结
- android 原生 电子邮件 应用 发送邮件附带 中文名附件时 附件名称乱码问题解决
- Android Webview中解决H5的音视频不能自动播放的问题
- 解决 ckfinder 不能上传图片,附件问题
- 解决163/sohu/sina不能够收到PHP MAIL函数发出邮件的问题
- 解决Android单个dex文件不能超过65536个方法问题
- Android在thread中Toast不能显示问题解决
- mac 下更新 .bash_profile 文件及解决mac不能识别某款android手机问题
- android 解决ScrollView嵌套ListView的问题,不能全屏,全屏不能显示下面控件
- 使用JavaMail收发邮件,解决了中文附件名问题
- 解决 Android 应用方法数不能超过 65535 的问题
- 解决Android AVD的方向键DPAD不能用的问题/could not find class
- 解决导入android工程后main.xml Graphical Layout不能正常显示的问题
- Android将Activity打成jar包供第三方调用(解决资源文件不能打包的问题)
- android 软键盘不能弹出 问题解决
- 关于saba不能发送中文邮件问题解决
- Android将Activity打成jar包供第三方调用(解决资源文件不能打包的问题)
- Android将Activity打成jar包供第三方调用(解决资源文件不能打包的问题)