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

好的,所以我在这里有一个奇怪的错误,我无法弄清楚。我正在使用“ 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());

    }


宝慕林4294392
浏览 205回答 1
1回答

ibeautiful

我已经测试了您的代码并重现了该问题。您可以尝试设置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{   ...   ...   ...}
打开App,查看更多内容
随时随地看视频慕课网APP