为了账号安全,请及时绑定邮箱和手机立即绑定

具有共享选项列表的纯文本给出了错误

具有共享选项列表的纯文本给出了错误

C#
宝慕林4294392 2021-05-07 14:11:37
好的,所以我在这里有一个奇怪的错误,我无法弄清楚。我正在使用“ android.intent.action.SEND”中的共享选项列表共享数据。共享单个图像效果很好,但是当我尝试仅共享纯文本(例如“ asdfdgdsfsa”)时,程序将抛出此错误“ Java.Lang.RuntimeException:无法实例化活动ComponentInfo {com.companyname.Revamp / Revamp.RecieveDataFromApp.RecieveDataFromApp}:java.lang.ClassNotFoundException:在路径:DexPathList [[ zip文件“ /data/app/com.companyname.Revamp-HFm6SmD1Y-A76OQwcwCXIA==/base.apk”],nativeLibraryDirectories=[/data/app/com.companyname.Revamp-HFm6SmD1Y-A76OQwcwCXIA==/lib/x86, /system/fake-libs、/data/app/com.companyname.Revamp-HFm6SmD1Y-A76OQwcwCXIA==/base.apk!/lib/x86、/system/lib、/vendor/lib]]“。  protected override void OnCreate(Bundle bundle)    {        Intent intent = Intent;        String action = Intent.Action;        String type = intent.Type;        if (Intent.ActionSend.Equals(action) && type != null)        {            // This is what we are trying to get working here.             if ("text/plain".Equals(type))            {                // Handle text being sent                // ...                // ...                // ...                 }            else if (type.StartsWith("image/"))            {                // Handle single image being sent                // ...                // ...                // ...                }        }        else if (Intent.ActionSendMultiple.Equals(action) && type != null)        {            //This works             if (type.StartsWith("image/"))            {                // Handle multiple images being sent                // ...                // ...                // ...                                    }        }        else        {            // Handle other intents, such as being started from the home screen                            }        TabLayoutResource = Resource.Layout.Tabbar;        ToolbarResource = Resource.Layout.Toolbar;        base.OnCreate(bundle);        global::Xamarin.Forms.Forms.Init(this, bundle);        LoadApplication(new App());    }
查看完整描述

1 回答

?
ibeautiful

TA贡献1993条经验 获得超5个赞

我已经测试了您的代码并重现了该问题。您可以尝试设置intent-filterin代码,而不是in AndroidManifest.xml。

例如:


[Activity(Label = "RecieveDataFromApp", Icon = "@drawable/icon", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]

[IntentFilter(new[] { Intent.ActionSend }, Categories = new[] { Intent.CategoryDefault }, DataMimeType = "image/*", Label = "RecieveDataFromApp")]

[IntentFilter(new[] { Intent.ActionSend }, Categories = new[] { Intent.CategoryDefault }, DataMimeType = "text/plain", Label = "RecieveDataFromApp")]

[IntentFilter(new[] { Intent.ActionSendMultiple }, Categories = new[] { Intent.CategoryDefault }, DataMimeType = "image/*", Label = "RecieveDataFromApp")]    

public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity

{

   ...

   ...

   ...

}


查看完整回答
反对 回复 2021-05-15
  • 1 回答
  • 0 关注
  • 204 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信