繁体   English   中英

在Xamarin.Android中调用Intent.CreateChooser时获取PackageName

[英]Get PackageName when Intent.CreateChooser invoked in Xamarin.Android

我编写了一个Intent,用于与所选应用程序共享一些文本,我想获取该特定所选应用程序的程序包名称。

public void ShareText(string text)
        {
            Intent sharingIntent = new Intent(Intent.ActionSend);
            sharingIntent.SetType("text/plain");
            sharingIntent.PutExtra(Intent.ExtraText, text);
            StartActivityForResult(Intent.CreateChooser(sharingIntent, "Share via"),555);
        }

我在OnActivityResult中得到null

    protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
    {
    if(requestCode == 555)
       {
          // data is null
       }
    }

我怎么得到这个?

正如我们在Chrome移动应用中看到的那样。 在此处输入图片说明

意图为空

我想获取该特定选定应用程序的程序包名称。

它完全取决于用户所做的选择,以及该选择是否提供任何返回Intent

因此,例如,该应用共享一些纯文本,用户选择:

  • Clipboard

    • 返回的意图将为null
  • Google Drive

    • 返回的意图将包含来自GDrive的URI:

      • 即com.google.android.apps.docs.storage.legacy.XXXXXX
  • Google Mail

    • 返回的为空

等等...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM