我正在 Android 库中开发 Android 应用程序的 PushNotification。我无法在单击推送通知消息时启动 Android 应用程序。 我无法在库项目中获取 Android 应用程序类以在generatePushNotification() 方法中启动。以下是库项目中的代码 fragment 。
private static void generateNotification(Context context, String message) {
int icon = R.drawable.ic_launcher;
long when = System.currentTimeMillis();
NotificationManager notificationManager = (NotificationManager)
context.getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = new Notification(icon, message, when);
String title = context.getString(R.string.app_name);
// Here I am getting the android application context as sActiveContext
Intent notificationIntent = new Intent(context, "need to launch the android application main activity");
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP |
Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent intent =
PendingIntent.getActivity(context, 0, notificationIntent, 0);
notification.setLatestEventInfo(context, title, message, intent);
notification.flags |= Notification.FLAG_AUTO_CANCEL;
notification.defaults |= Notification.DEFAULT_SOUND;
notification.defaults |= Notification.DEFAULT_VIBRATE;
notificationManager.notify(0, notification);
}
如何从图书馆项目启动 Android 应用程序。?
最佳答案
如果您的问题是您希望提供给 Intent 的 Activity 在库项目中未被识别,您可以使用 packageManager.getLaunchIntentForPackage()获取从此包启动 Activity 的 Intent ,其中包含 CATEGORY_LAUNCHER属性
String packageName = context.getPackageName();
Intent launchIntent = context.getPackageManager().getLaunchIntentForPackage(packageName);
然后你可以用 launchIntent
替换 new Intent(context, "need to launch the android application main Activity")
关于android - 从 Library 项目启动 Android 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18843118/