相关疑难解决方法(0)

尝试将SD卡中的文件附加到电子邮件中

我正在尝试启动Intent来发送电子邮件.所有这一切都有效,但当我尝试实际发送电子邮件时,会发生一些"奇怪"的事情.

这是代码

Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.setType("image/jpeg");
sendIntent.putExtra(Intent.EXTRA_SUBJECT, "Photo");
sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://sdcard/dcim/Camera/filename.jpg"));
sendIntent.putExtra(Intent.EXTRA_TEXT, "Enjoy the photo");
startActivity(Intent.createChooser(sendIntent, "Email:"));
Run Code Online (Sandbox Code Playgroud)

因此,如果我使用Gmail菜单上下文启动它会显示附件,让我输入电子邮件的来源,并编辑正文和主题.没什么大不了.我点击发送,它发送.唯一的事情是附件不会被发送.

所以.我想,为什么不尝试使用电子邮件菜单上下文(对于我手机上的备份电子邮件帐户).它显示附件,但在身体或主体中根本没有文字.当我发送它时,附件发送正确.这会让我相信一些事情是错误的.我是否需要在Manifest发布中获得新的权限才能发送带附件的电子邮件?我究竟做错了什么?

email android attachment android-intent

69
推荐指数
3
解决办法
7万
查看次数

根据安装的Android软件包名称自定义过滤意图选择器

我想利用内置的意图选择器来显示自定义过滤的应用列表,供用户选择和启动.

我知道如何获取已安装的软件包列表:

final Intent myIntent = new Intent(android.content.Intent.ACTION_MAIN);  
List<ResolveInfo> resInfoList = getPackageManager().queryIntentActivities(myIntent, 0);
Run Code Online (Sandbox Code Playgroud)

此时,我想根据包名称中包含的特定字符串(或字符串的变体)过滤列表,我也可以弄清楚如何操作.

但是这里我被卡住了.据我所知,Intent.createChooser()只需要一个目标Intent作为参数.我希望有一个重载基于包和类名或其他东西的意图列表.但我没有看到类似的东西.我在某处错过了吗?

所以问题是,这可能与内置选择器有关,还是我必须使用AlertDialog Builder构建自己的选择器?我希望避免后者.

提前致谢.

android android-intent

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

用于发送电子邮件的ACTION_SENDTO

我在Android 2.1中执行以下代码片段时遇到"此操作不受支持"错误情况.这个片段有什么问题?

public void onClick(View v) {
  Intent intent = new Intent(Intent.ACTION_SENDTO);
  Uri uri = Uri.parse("mailto:myemail@gmail.com");
  intent.setData(uri);
  intent.putExtra("subject", "my subject");
  intent.putExtra("body", "my message");
  startActivity(intent);
}
Run Code Online (Sandbox Code Playgroud)

email android android-intent

31
推荐指数
3
解决办法
4万
查看次数

Json 文件未附加到 android 的电子邮件

我正在尝试将附加的 json 文件发送到电子邮件,但是由于某种原因,在发送/创建电子邮件时未附加 json 文件。注意:我不希望用户选择要附加的文件,我希望它自动固定/设置。

我有以下权限 AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Run Code Online (Sandbox Code Playgroud)

和代码

   private void backupJsonToEmail(String jsonString) {
    // create file

    if(!getFilesDir().exists()){
        getFilesDir().mkdir();
    }
    String filePath = getFilesDir() + File.separator + BACKUP_NAME;
    System.out.println("file path: " + filePath);
    // /data/user/0/com.my.stuff/files/backup.json

    try {
        FileOutputStream fos = new FileOutputStream(filePath);
        DataOutputStream outStream = new DataOutputStream(new BufferedOutputStream(fos));
        outStream.writeBytes(jsonString);
        outStream.close();

        // send to email
        try {
            File file = new File(filePath);
            long fileKbSize = file.length() / 1024;
            System.out.println("FILE SIZE …
Run Code Online (Sandbox Code Playgroud)

java android email-attachments

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