gpt4 book ai didi

android-intent - Android 从另一个未上传文件的应用程序启动 Google Drive 应用程序

转载 作者:行者123 更新时间:2023-12-04 16:31:41 27 4
gpt4 key购买 nike

我尝试通过手动启动 Google Drive(安装在设备上)从我的 android 应用程序上传文件。我尝试使用 Intent.createChooser 发送此消息并且它可以很好地上传文件附件。但我需要为特定目的上传文件(例如 Dropbox,仅限 Google Drive)。所以我更改了代码并尝试按以下方式将文件上传到 Google Drive,但没有成功,只有 Google Drive 应用程序在设备上打开,没有上传文件:

PackageManager pm = this.getPackageManager();
Intent intent = pm.getLaunchIntentForPackage("com.google.android.apps.docs");
intent.setType("application/pdf");
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://sdcard/sdcard0/test.pdf"));
intent.putExtra(Intent.EXTRA_SUBJECT, "attach a file test");
intent.addCategory(Intent.ACTION_ATTACH_DATA);
startActivity(intent);

我们可以像上面那样通过手动打开 Intent 来上传 PDF 文件吗?

最佳答案

经过研究,我得到了执行以下代码的解决方案:

import android.support.v4.app.ShareCompat;

Uri pdfUri = Uri.parse("file://sdcard/sdcard0/test.pdf");
Intent shareIntent = ShareCompat.IntentBuilder.from(this)
.setText("Share PDF doc")
.setType("application/pdf")
.setStream(pdfUri )
.getIntent()
.setPackage("com.google.android.apps.docs");
startActivity(shareIntent);

同理我们也可以用于其他的共享意图,少数意图对应的包名如下:
  • com.dropbox.android = Dropbox
  • com.android.bluetooth = 蓝牙
  • com.android.email = 电子邮件
  • com.google.android.gm = Gmail
  • com.microsoft.skydrive = Skydrive
  • com.google.android.apps.docs = Googledrive

  • 对于 Gmail 共享,我们需要使用以下类型的代码:
    Uri zipUri = Uri.parse("file://sdcard/sdcard0/test.zip");  
    String[] emailArr = {"test@gmail.com"};
    Intent shareIntent = ShareCompat.IntentBuilder.from(this)
    .setText("Share ZIP doc")
    .setType("application/zip")
    .setEmailTo(emailArr)
    .setStream(zipUri)
    .setSubject("Share zip doc")
    .setText("Sent with email app.")
    .getIntent()
    .setPackage("com.google.android.gm");
    startActivity(shareIntent);

    关于android-intent - Android 从另一个未上传文件的应用程序启动 Google Drive 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16964218/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com