2017-06-01 50 views
0

在仿真器 - 棉花糖上运行代码时出现以下错误。 请让我知道可能是什么原因。Xamarin.Android - 错误 - 实现AlarmManager.IOnAlarmListener

当我实现其他接口如IServiceConnection时,代码不会抛出错误。

namespace ExampleNameSpace 
{ 
    public class TestAlarmListener : Java.Lang.Object, 
    AlarmManager.IOnAlarmListener 
    { 
     public TestAlarmListener(){} 
     public void OnAlarm(){ } 
    } 

    [Activity(Label = "AlarmActivity")] 
    public class AlarmActivity : Activity 
    { 
     protected override void OnCreate(Bundle savedInstanceState) 
     { 
      base.OnCreate(savedInstanceState); 
      SetContentView(Resource.Layout.Alarm); 
      TestAlarmListener listener = new TestAlarmListener(); 

     } 


    Error - 

    06-01 18:05:25.557: E/AppMessage(8848): Didn't find class 
    "md5d67d3b9255c5c503bc35ab778230d3db.TestAlarmListener" on path: 
    DexPathList[[zip file "/data/app/ExampleApp.ExamplePack- 
    1/base.apk"],nativeLibraryDirectories=[/data/app/ExampleApp.ExamplePack- 
    1/lib/arm, /data/app/ExampleApp.ExamplePack-1/base.apk!/lib/armeabi-v7a, 
    /vendor/lib, /system/lib]] 
+0

我得到了同样的错误,你有没有找到解决办法的答案吗? –

+0

我找到了答案,你必须实现2个更多的构造函数,并使用API​​> 19进行编译,这里是我的闹钟监听器 –

回答

0

我发现你必须实现2个构造函数和与API> 19编译这里是我报警监听

public class Test :Java.Lang.Object, AlarmManager.IOnAlarmListener 
{ 

    public Test() 
    { 

    } 
    public Test(IntPtr handle) 
    { 
     Handle = handle; 
    } 
    public Test(IntPtr handle, JniHandleOwnership transfer) 
    { 
    } 
    public IntPtr Handle { get; private set; } 

    public void Dispose() 
    { 

    } 

    public void OnAlarm() 
    { 
     Log.Info("AlarmToastReceiver", DateTime.Now.ToString()); 
    } 
}