【发布时间】:2021-03-06 15:41:14
【问题描述】:
我在一个类中编写了一个代码来使用 notificationCompat.Builder 通知我,它给了我这个错误,它告诉我我在 OnCreate() 之前做了一些事情,在 MainActivity 我声明了另一个类以便继承 CountDownTimer 类并在 OnFinished () 方法中我编写了这个小代码,它给了我一个错误。谁能帮我 ?我相信使用 this.activity 会导致问题,但我不知道解决方法:
public NotificationCompat.Builder builder;
MainActivity activity = new MainActivity();
NotificationManagerCompat notificationManager;
public override void OnFinish()
{
Toast.MakeText(Application.Context ,"Finished",ToastLength.Short).Show();
builder = new NotificationCompat.Builder(this.activity, CHANNEL_ID).SetAutoCancel(true)
.SetContentTitle("CountDownTimer !!")
.SetSmallIcon(Resource.Drawable.abc_ic_star_black_48dp)
.SetContentText($" Stopped"); // display.
notificationManager = NotificationManagerCompat.From(this.activity); Error // Java.Lang.IllegalStateException: 'System services not available to Activities...
notificationManager.Notify(NOTIFICATION_ID, builder.Build());
}
【问题讨论】:
-
你不能只创建一个
MainActivity的新实例,你需要使用对你应用程序现有MainActivity的引用 -
如果我使用“this”关键字我得到,错误 CS1503 参数 1:无法从 'TimerApp_Test.MainActivity.CountDown1' 转换为 'Android.Content.Context' ?? ,那又是我的 CountDown1 类在 MainActivity 中
-
关于如何获取当前活动的引用存在许多问题
-
感谢我创建了一个上下文并在我的 Oncreate () 中传递了它 this ,然后我只是在另一个类中使用了该对象!
-
如果对你有用,你可以把你的答案放在下面