Android通知Chrome打开Chrome

时间:2015-10-05 15:53:13

标签: android google-chrome android-intent

我正在开发一款Android应用。它通过推送通知接收URL。我需要用chrome打开网址。我正在尝试这个但是没有工作

Intent i;
    try {
        i = new Intent(Intent.ACTION_VIEW);
        i.setType("text/html");
        i.putExtra(Browser.EXTRA_APPLICATION_ID, context.getPackageName());
        i.setComponent(ComponentName.unflattenFromString("com.android.chrome/com.android.chrome.Main"));
        i.addCategory("android.intent.category.LAUNCHER");
        i.setData(Uri.parse(audioLink));
    } catch (ActivityNotFoundException ex) {
        i = new Intent(Intent.ACTION_VIEW, Uri.parse(audioLink));
    }

    PendingIntent pendingIntent =
            PendingIntent.getActivity(this, 0, i, PendingIntent.FLAG_ONE_SHOT);

    NotificationCompat.Builder builder;
    NotificationManager manager;

    manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

    builder = new NotificationCompat.Builder(this)
            .setContentTitle(getString(R.string.newmessagetitle))
            .setContentText(getString(R.string.newmessage))
            .setSmallIcon(R.mipmap.ic_stat_lollipop_icon);

    builder.setContentIntent(pendingIntent);

    int defaults = 0;
    defaults = defaults | Notification.DEFAULT_LIGHTS;
    defaults = defaults | Notification.DEFAULT_VIBRATE;
    defaults = defaults | Notification.DEFAULT_SOUND;

    builder.setDefaults(defaults);
    builder.setAutoCancel(true);

    manager.notify(notifyID, builder.build());

1 个答案:

答案 0 :(得分:0)

我真的认为这样的事情应该适用于意图代码。如果没有,代码的另一部分可能有问题:

NSString *language = [[NSLocale preferredLanguages] firstObject];

顺便说一句,ActivityNotFoundException在那个地方完全没用,因为只有Activity.startActivity()会抛出该异常。如果您想检查Chrome是否已安装,我会使用:Using WP Better Emails with WooCommerce Email Templates