好的,所以我在这里有一个奇怪的错误,我无法弄明白 . 我在android“android.intent.action.SEND”中与共享选项列表共享数据 .
共享单个图像工作完美,但当我尝试共享纯文本,如“asdfdgdsfsa”时,程序抛出此错误
“Java.Lang.RuntimeException:无法实例化活动ComponentInfo {com.companyname.Revamp / Revamp.RecieveDataFromApp.RecieveDataFromApp}:java.lang.ClassNotFoundException:未在路径上找到类”Revamp.RecieveDataFromApp.RecieveDataFromApp“: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());
}
<activity android:name="Revamp.RecieveDataFromApp.RecieveDataFromApp" android:icon="@drawable/ic_home">
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND_MULTIPLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.GET_CONTENT" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="*/*" />
</intent-filter>
</activity>
1 回答
我已经测试了您的代码并重现了该问题 . 您可以尝试在代码中设置
intent-filter
,而不是在AndroidManifest.xml
中 .例如: