c#Xamarin抛出Java。Lang.ClassNotFoundException使用CallRedirectionService
我创建了一个新的移动应用程序Xamarin。使用此示例的空白模板来生成项目。我试图在我的应用程序中使用CallRedirectionService,但引发了以下异常
Java.Lang.ClassNotFoundException: crc64bf934172c93e128d.MyCallService ---> Java.Lang.NoClassDefFoundError: Failed resolution of: L安卓/telecom/CallRedirectionService; ---> Java.Lang.ClassNotFoundException: Didn't find class "安卓.telecom.CallRedirectionService" on path: DexPathList[[zip file "/data/app/com.companyname.xam-8bL_MB0IWItrj3Z69Zwvtw==/base.apk"],nativeLibraryDirectories=[/data/app/com.companyname.xam-8bL_MB0IWItrj3Z69Zwvtw==/lib/x86, /data/app/com.companyname.xam-8bL_MB0IWItrj3Z69Zwvtw==/base.apk!/lib/x86, /system/lib]]
using Android.Telecom;
using Xamarin.Forms;
namespace xam
{
public class MyCallService : CallRedirectionService
{
public override void OnPlaceCall(Android.Net.Uri handle, PhoneAccountHandle initialPhoneAccount, bool allowInteractiveResponse)
{
//throw new NotImplementedException();
}
}
public partial class MainPage : ContentPage
{
public MainPage()
{
var callCervice = new MyCallService();
InitializeComponent();
}
}
}
既然其他服务不抛出任何异常,我该如何解决它
例如
public class CallPreventer : InCallService
{
public override void OnCallAdded(Call call)
{
call.Disconnect();
base.OnCallAdded(call);
}
}
# 1 楼答案
从屏幕截图上看,这段代码似乎是。NET标准组件(共享项目),它不会引用Mono Android。相反,尝试使用Xamarin Forms Dependency Service从共享代码中调用特定于平台的东西。见my recreation of your code here