所以这是交易。
我创建了一个用户定义的类。它包含一个返回通知对象的方法。现在我希望这种方法有点灵活。就像传递当用户单击通知栏中的通知时将打开的活动一样。这是方法
public Notification getUserNotificationObject(String status, String message, String tickerText, boolean isOngoingEvent){
Notification notification = new Notification(R.drawable.image, tickerText, System.currentTimeMillis());
long vibInterval = (long) context.getResources().getInteger(R.integer.vibrateInterval);
notification.vibrate = new long[] {vibInterval, vibInterval, vibInterval, vibInterval, vibInterval};
Intent notifyIntent = new Intent(context, HomeScreen.class);
CharSequence contentTitle = "Title";
CharSequence contentText = status + "-" + message;
notification.setLatestEventInfo(context, contentTitle, contentText, PendingIntent.getActivity(context, 0, notifyIntent, PendingIntent.FLAG_CANCEL_CURRENT));
notification.ledARGB = Color.argb(100, 0, 254, 0);
notification.ledOnMS = 500;
notification.ledOffMS = 500;
notification.flags |= Notification.FLAG_SHOW_LIGHTS;
if(isOngoingEvent){
notification.flags |= Notification.FLAG_ONGOING_EVENT;
}
return notification;
}
我希望能够将活动作为参数传递给 this 而不是
HomeScreen.class
在上面的意图定义中使用(用于为此类的用户(或其他开发人员)提供额外的控制,以选择单击通知时要打开的活动)。我尝试使用 Activity 作为此方法的参数之一,但是每当我尝试在调用此方法(如“Activity2”或“Activity2.this”)时传递另一个活动时,它会给我错误提示:
No enclosing instance of the type Activity2 is accessible in scope
是否有任何解决方法或任何方法将活动作为参数传递。或者我应该根据 NotificationID 区分它们。
欢迎在这方面提供任何帮助或对上述代码进行任何更正。(“context”是一个类级别的变量,所以不用担心。这段代码工作正常)。