标签: android-intent

Android Intent用于发送带附件的电子邮件

可能重复:
来自内部存储的电子邮件

收件人正在接收电子邮件,但没有附件.这是代码,任何专家都知道我哪里出错了?

Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_EMAIL, new String[] {"email@example.com"});
intent.putExtra(Intent.EXTRA_SUBJECT, "subject here");
intent.putExtra(Intent.EXTRA_TEXT, "body text");
File root = Environment.getExternalStorageDirectory();
File file = new File(root, xmlFilename);
if (!file.exists() || !file.canRead()) {
    Toast.makeText(this, "Attachment Error", Toast.LENGTH_SHORT).show();
    finish();
    return;
}
Uri uri = Uri.parse("file://" + file);
intent.putExtra(Intent.EXTRA_STREAM, uri);
startActivity(Intent.createChooser(intent, "Send email..."));
Run Code Online (Sandbox Code Playgroud)

我没有得到任何祝酒词.谢谢.

java android attachment android-intent

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

Android:如何将Parcelable对象传递给intent并使用bundle的getParcelable方法?

为什么捆绑getParcelableArrayList,getParcelable方法; 但 Intent只有putParcelableArrayListExtra方法?我可以只传输object<T>,而不是ArrayList一个元素吗?那么,是getParcelable为了什么?

android bundle parcelable android-intent

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

如何在Android上的"提供反馈"模式下启动Google Play意图?

我刚刚为Google Play商店编写了一款游戏,并希望提醒我的客户在应用程序市场上留下反馈(特别是演示版).有没有办法以一种模式启动市场意图,将用户带到页面的反馈/评论部分?

我已经使用这种方法将我的演示链接到付费应用程序......

Intent goToMarket = null;
goToMarket = new Intent(
                   Intent.ACTION_VIEW,
                   Uri.parse("market://details?id=com.paulmaidment.games.flagsoftheworld"));
startActivity(goToMarket);
Run Code Online (Sandbox Code Playgroud)

有最好的做法吗?

另外,有没有办法跟踪我的演示应用程序中的推荐,以便我可以尝试计算某种转换率?(也就是说,演示应用程序在产生销售方面的效果如何.)

android android-intent google-play

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

用于位图的Android Share Intent - 是否有可能在共享之前不保存它?

我尝试使用共享意图从我的应用程序导出位图,而不保存文件的临时位置.我发现的所有例子都是两步1)保存到SD卡并为该文件创建Uri 2)用这个Uri启动意图

是否可以在不需要WRITE_EXTERNAL_STORAGE权限的情况下进行保存,保存文件[并在之后将其删除]?如何在没有ExternalStorage的情况下寻址设备?

android android-intent

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

Android:如何通过Intent打开特定文件夹并在文件浏览器中显示其内容?

我认为这很容易但事实证明不幸的是.

是)我有的:

我的外部存储器上有一个名为"myFolder"的文件夹(不是SD卡,因为它是Nexus 4,但这应该不是问题).该文件夹包含一些*.csv文件.

我想要的是:

我想写一个方法,它执行以下操作:显示各种应用程序(文件浏览器),我可以从中选择一个(见图片).单击它后,所选的文件浏览器应该启动并显示"myFolder"的内容.不多也不少.

在此输入图像描述

我的问题:

我到底该怎么做?我想我接下来的代码非常接近,但无论我做什么 - 而且我确定必须有一些我还没有做到的事情 - 它始终只打开来自外部存储器的主文件夹.

public void openFolder()
{
File file = new File(Environment.getExternalStorageDirectory(),
    "myFolder");

Log.d("path", file.toString());

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setDataAndType(Uri.fromFile(file), "*/*");
startActivity(intent);
}
Run Code Online (Sandbox Code Playgroud)

directory android android-intent android-sdcard

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

Android保持缓存我的意图额外,如何声明一个保持新鲜额外的待定意图?

几天前,我一直在努力寻找一种方法来为警报使用自定义意图.虽然我得到了明确的答案,我必须根据一些独特的ID来定制Intents,例如.setAction()还是有一些问题.

我用这种方式定义了PendingIntent:

Intent intent = new Intent(this, viewContactQuick.class);
intent.setAction("newmessage"+objContact.getId());//unique per contact
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK ).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP );
intent.putExtra("id", Long.parseLong(objContact.getId()));
intent.putExtra("results", result.toArray());

PendingIntent contentIntent = PendingIntent.getActivity(context, 0, intent, 0);
Run Code Online (Sandbox Code Playgroud)

然后由通知管理器使用

NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(ns);
// first try to clear any active notification with this contact ID
mNotificationManager.cancel(Integer.parseInt(objContact.getId()));

// then raise a new notification for this contact ID
mNotificationManager.notify(Integer.parseInt(objContact.getId()), notification);
Run Code Online (Sandbox Code Playgroud)

这样工作如下:

  • 应用程序为联系人创建消息
  • 提供了联系ID和有关消息的详细信息的意图
  • 通过消息引发通知
  • 用户对通知的操作,应用程序显示意图传递的消息

问题

对于联系人,这可能会发生多次.并且当生成第二条消息时,通知会很好地提出(消息在那里很好)但是当用户操作它使用旧数据的通知时的意图,所以先前的消息被传递而不是全新的消息.

所以,某种意图是缓存和重用以前的额外内容.如何使每个联系人和每个操作都具有唯一性?

android extras android-intent

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

62
推荐指数
4
解决办法
11万
查看次数

Android Intent for Twitter应用程序

是否有可能显示一个应用程序列表(intent.createChooser仅),只显示我的手机上的我的推特应用程序(所以htc peep(htc hero)或twitdroid).我试过它,intent.settype("application/twitter")但它没有找到任何Twitter的应用程序,只显示我的邮件应用程序.

谢谢,

沃特

twitter android android-intent

61
推荐指数
6
解决办法
8万
查看次数

Android OS中有哪些IPC机制?

请问任何人请告诉我android中存在的所有IPC机制是什么.

据我所知:

1)意图,
2)粘合剂.

android ipc android-intent android-bundle android-binder

61
推荐指数
5
解决办法
7万
查看次数

Android安装apk与Intent.VIEW_ACTION无法使用文件提供程序

我的应用程序有一个自动更新功能,下载APK,下载完成后,Intent.VIEW_ACTION打开应用程序,让用户安装下载的apk

         Uri uri = Uri.parse("file://" + destination);
         Intent install = new Intent(Intent.ACTION_VIEW);
        install.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        install.setDataAndType(uri,
            manager.getMimeTypeForDownloadedFile(downloadId));
        activity.startActivity(install);
Run Code Online (Sandbox Code Playgroud)

这适用于所有设备<24

现在使用Android 24显然我们不再允许使用file:///启动意图并且在一些谷歌搜索之后建议使用A文件提供程序

新代码:

Intent install = new Intent(Intent.ACTION_VIEW);
    install.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    install.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
    Uri apkUri = FileProvider.getUriForFile(AutoUpdate.this,
        BuildConfig.APPLICATION_ID + ".provider", file);
    install.setDataAndType(apkUri,
        manager.getMimeTypeForDownloadedFile(downloadId));
    activity.startActivity(install);
Run Code Online (Sandbox Code Playgroud)

现在activity.startActivity(安装); 抛出错误

找不到处理Intent的活动{act = android.intent.action.VIEW dat = content://com.xxxx.xx.provider/MyFolder/Download/MyApkFile.apk typ = application/vnd.android.package-archive flg = 0x4000000}

有什么方法可以在Android 7(24)中打开APK查看器吗?

android android-intent android-fileprovider viewaction android-7.0-nougat

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