从Library项目启动Android应用程序

时间:2013-09-17 06:53:10

标签: android android-intent push-notification android-library

我正在为Android库中的Android应用程序开发PushNotification。单击推送通知消息时,我无法启动Android应用程序。 我无法在库项目中获取android应用程序类,以便在generatePushNotification()方法中启动。以下是库项目的代码片段。

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应用程序。?

1 个答案:

答案 0 :(得分:3)

如果您的问题是您希望提供给意图的活动在图书馆项目中无法识别,您可以使用packageManager.getLaunchIntentForPackage()来启动此包中有CATEGORY_LAUNCHER的活动的意图属性

String packageName = context.getPackageName();
Intent launchIntent = context.getPackageManager().getLaunchIntentForPackage(packageName);

然后您可以将new Intent(context, "need to launch the android application main activity")替换为launchIntent