相关疑难解决方法(0)

使用Intent的Android多个电子邮件附件

我一直在研究Android程序,使用Intent发送包含附件(图像文件,音频文件等)的电子邮件ACTION_SEND.电子邮件只有一个附件时,该程序正在运行.我曾经Intent.putExtra(android.content.Intent.EXTRA_STREAM, uri)将指定的图像文件附加到邮件中,并且工作正常,邮件可以通过Gmail传送.但是,当我尝试通过Intent.putExtra(android.content.Intent.EXTRA_STREAM, uri)多次调用将多个图像附加到同一邮件时,它无法正常工作.电子邮件中没有显示任何附件.

我搜索了SDK文档和Android编程用户组关于电子邮件附件但找不到任何相关信息.但是,我发现有另一个意图常量ACTION_SEND_MULTIPLE(自API级别4起可用)可能符合我的要求.基于SDK文档,它只是声明它向其他人提供多个数据,它的工作方式类似ACTION_SEND,除了数据是多个.但我还是无法弄清楚这个命令的正确用法.我试图声明意图ACTION_SEND_MULTIPLE,然后putExtra(EXTRA_STREAM, uri)多次调用以附加多个图像,但我得到了与之前相同的错误结果,没有任何附件显示在电子邮件中.

有没有人试过ACTION_SEND_MULTIPLE并使用多个电子邮件附件?

email android attachment android-intent

97
推荐指数
4
解决办法
7万
查看次数

获取存储在drawable中的图像的URI

我在我的应用程序中添加了几个示例项,因此当用户第一次看到它时它看起来不那么空.带有示例项的列表应该有一个图像,我要使用的图像已经存储在应用程序的/ res/drawable-folder中.

因为我已经有一个方法从URI加载项目图像我想获取到/res/drawable/myImage.jpg的URI,但我似乎无法正确.

流程如下:使用表示图像URI的字符串创建项目.将项列表发送到列表列表通过将字符串转换为URL然后运行url.openStream()来将图像加载到后台任务中;

我已经为URI尝试了一些选项而没有任何成功."android.resource:// ....."说未找到unknow protocoll"file://"文件

所以现在我有点失去了如何解决这个问题..

url android drawable

55
推荐指数
5
解决办法
8万
查看次数

在Android中从url下载图像的最佳方法

我正在使用以下方法从url下载单个图像

public static Bitmap getBitmap(String url) {
    try {
        InputStream is = (InputStream) new URL(url).getContent();
        Bitmap d = BitmapFactory.decodeStream(is);
        is.close();
        return d;
    } catch (Exception e) {
        return null;
    }
}
Run Code Online (Sandbox Code Playgroud)

有时我会得到一个outofmemory异常.

我无法捕捉到内存异常.该应用程序将关闭.怎么预防这个?

是否有更好的下载图像的方法也更快?

android

44
推荐指数
7
解决办法
13万
查看次数

从缓存目录中共享图像文件通过Intent~android

我试图在缓存目录中共享图像文件,我有完整的路径,但无法在附件中发送文件,代码是

File shareImage=Utils.getBitmapFile();
Log.d("Activity", "get final path in result"+shareImage.getAbsolutePath());
/*MimeTypeMap mime = MimeTypeMap.getSingleton();
String ext=shareImage.getName().substring(shareImage.getName().lastIndexOf(".")+1);
String type = mime.getMimeTypeFromExtension(ext);
shareIntent.setType(type);
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("image/*");
Uri shareImageUri = Uri.fromFile(shareImage);
Uri shareImageUri = Uri.fromParts("content", shareImage.getAbsolutePath(), null);//("content://"+shareImage.getAbsolutePath()); 
*/


Uri shareImageUri = Uri.fromFile(shareImage);
Log.d("Result ","uri is "+shareImageUri.toString());
shareIntent.putExtra(Intent.EXTRA_STREAM, shareImageUri);
startActivity(Intent.createChooser(shareIntent, "Share Results"));
Run Code Online (Sandbox Code Playgroud)

上面注释的代码不起作用

发送邮件显示附件,但没有收到结束没有附件,Facebook共享也显示邮件中没有图像

这是什么原因?

我已经看到以下SO链接如何使用共享图像使用共享意图共享图像在Android和许多其他人,他们都没有能够解决这个问题

PS;

1.目的是将屏幕截图保存在缓存目录中并从那里在线共享

2.我确实有文件,我可以通过DDMS从设备中取出它并在系统上查看.

android share android-intent

16
推荐指数
2
解决办法
1万
查看次数

如何使用我的Android应用程序将照片发送到Instagram?

我的应用程序拍照,我想在Instagram上分享.

我的应用将图像保存在此目录中

File storagePath = new File(Environment.getExternalStorageDirectory() + "/DCIM/Camera/tubagram");
Run Code Online (Sandbox Code Playgroud)

现在我正在尝试使用此代码获取我在Instagram上分享的最后一张照片

Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND);
shareIntent.setType("image/*");

final ContentResolver cr = getContentResolver();
final String[] p1 = new String[] {MediaStore.Images.ImageColumns._ID, MediaStore.Images.ImageColumns.DATE_TAKEN};
Cursor c1 = cr.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, p1, null, null, p1[1] + " DESC");

if (c1.moveToFirst() ) {

    Log.i("Teste", "last picture (" + c1.getString(0) + ") taken on: " + new Date(c1.getLong(1)));
}

shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://"+Environment.getExternalStorageDirectory() + "/DCIM/Camera/tubagram/" + c1.getString(0)));
shareIntent.setPackage("com.instagram.android");

c1.close();

startActivity(shareIntent);
Run Code Online (Sandbox Code Playgroud)

我收到一个Toast,显示此错误消息"无法下载文件".这个Toast由Instagram发送.

我尝试使用此链接示例 - 在instagram中共享照片 - 但无法正常工作.

请帮帮我!!!

android share photo instagram

10
推荐指数
1
解决办法
2万
查看次数

Android 共享意图选择器仅限电子邮件客户端

我正在尝试为用户创建一个选项,使其仅通过电子邮件从我的应用程序发送文件。该文件位于应用程序内部,可通过 FileProvider 访问。

这是 contentURI 的样子content://packagename.files/files/somefile.ext

在这里,您可以看到,我让用户将文件共享到 PicsArt、Google Drive、OneDrive 和电子邮件。

共享对话框片段

我能够成功地将内容分享给前三个客户,因为他们的应用程序非常具体。但是当涉及到电子邮件时,我需要用户从他安装在手机中的应用程序中选择客户端。

这是我创建的两组代码:

代码选项 1:

Intent EMail = ShareCompat.IntentBuilder.from(this)
                   .setType("message/rfc822")
                   .setSubject("Emailing: File Attached")
                   .setText("Hello")
                   .setStream(contentUri)
                   .setChooserTitle("Send via EMail").getIntent();
startActivity(Intent.createChooser(EMail, "Send via EMail"));
Run Code Online (Sandbox Code Playgroud)

上面的代码向我展示了一个选择器,其中有许多应用程序可以处理文件,如下图所示。

活动选择器

如果我选择任何电子邮件客户端应用程序或任何其他应用程序,这个程序就可以正常工作。

但这样做的问题是,用户可以选择任何应用程序,这不是应用程序期望的行为。所以,我将代码修改如下:

final Intent _Intent = new Intent(Intent.ACTION_SENDTO);
_Intent.setType("text/html");
_Intent.setData(Uri.parse("mailto:"));
_Intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
_Intent.putExtra(Intent.EXTRA_STREAM, contentUri);
_Intent.putExtra(android.content.Intent.EXTRA_SUBJECT,
        "Emailing: File Attached");
_Intent.putExtra(android.content.Intent.EXTRA_TEXT,
        "Hello");
startActivity(Intent.createChooser(_Intent, "Send via EMail"));
Run Code Online (Sandbox Code Playgroud)

这是代码的结果:

仅电子邮件客户端

但是,现在的问题是我无法从内容提供程序(FileProvider)发送文件。选择后邮件客户端显示如下消息:

在此输入图像描述

它只是没有将文件附加到上面列表中任何客户端的电子邮件中。

如果有人能在这里帮助我,我将不胜感激。我认为,我在这里尝试了所有可能的场景,通过更改 mime 类型、以不同方式设置内容、设置数据设置流等,但无法获得所需的结果。

如果您需要任何其他详细信息,请告诉我。

再次提前致谢。

java email android share android-intent

5
推荐指数
1
解决办法
2282
查看次数

从Android应用程序共享图像使用动作发送意图它不起作用:(

我用了

Intent sharingIntent = new Intent(Intent.ACTION_SEND);

Uri screenshotUri = Uri.parse("file//res/drawable/u.png");
 

sharingIntent.setType("image/png");


sharingIntent.putExtra(Intent.EXTRA_STREAM, screenshotUri);


startActivity(Intent.createChooser(sharingIntent, "Share image using"));
Run Code Online (Sandbox Code Playgroud)

//我使用sumsung real为device.and我选择在facebook上分享.//但是内容是空的而不是我的共享图像我无法共享图像.

这是意图动作发送不使用facebook sdk.你能帮我吗?

android facebook

3
推荐指数
1
解决办法
2万
查看次数

与Android意图共享图像


我试图通过这样的分享意图分享图像:

Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);

    sharingIntent.setType("image/png");
sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, application.getString(R.string.app_name));
    sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT,application.getString(R.string.app_share_message));

    File image = new File(Uri.parse("android.resource://" + C.PROJECT_PATH + "/drawable/" + R.drawable.icon_to_share).toString());
        sharingIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(image));
        shareMe(sharingIntent);
Run Code Online (Sandbox Code Playgroud)

共享意图正确触发,我选择Gmail,一切都按预期运行,直到我按下发送.我收到通知"无法显示附件",并且没有它发送电子邮件...为什么?

谢谢你的时间.

email android share drawable android-intent

3
推荐指数
1
解决办法
9589
查看次数

使用动作发送共享图像

所以我想用来Intent.ACTION_SEND从我的应用程序共享图像。

这是我正在使用的代码

Intent shareIntent = new Intent();
    shareIntent.setAction(Intent.ACTION_SEND);
    shareIntent.putExtra(Intent.EXTRA_STREAM, shareImgURI);
    shareIntent.setType("image/*");
    shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
    startActivity(Intent.createChooser(shareIntent, "Share images..."));
Run Code Online (Sandbox Code Playgroud)

并且shareImgURIcontent://com.android.providers.media.documents/document/image%3A298

它会打开选​​择器,但是当我选择一个选项时没有任何反应。我错过了什么吗?

android android-intent share-intent

1
推荐指数
2
解决办法
1万
查看次数