从通知发送ACTION_SEND意图

时间:2013-09-04 17:57:21

标签: android android-intent android-notifications

我正在尝试通过点击通知发送和Intent.ACTION_SEND。这就是我所做的

public static void generateNotification(Context context, String title, String message)
{ 
    NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);

    Builder notificationBuilder = new Notification.Builder(context)
                                        .setContentTitle(title)
                                        .setContentText(message)
                                        .setSmallIcon(R.drawable.ic_launcher)
                                        .setWhen(System.currentTimeMillis());

    Intent shareIntent = new Intent(Intent.ACTION_SEND);    
    String extraText = title + " has " + message;
    shareIntent.putExtra(Intent.EXTRA_TEXT, extraText);
    PendingIntent pendingShareIntent = PendingIntent.getActivity(context, 0, Intent.createChooser(shareIntent, "share..."),
                                                                PendingIntent.FLAG_UPDATE_CURRENT);

    notificationBuilder.addAction(android.R.drawable.ic_menu_share, "share...", pendingShareIntent);

    Notification bigTextNotification = new Notification.BigTextStyle(notificationBuilder)
                                        .setBigContentTitle(title)
                                        .bigText(message)
                                        .build();

    notificationManager.notify(tag, notificationId++, bigTextNotification);
}

我在通知上获得了共享操作,但是当我点击它时,我会出现一个说

的对话框
  

没有应用可以执行此操作

当我通过startActivity()运行相同的意图时,它可以正常工作。

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

您未能使用IntentsetType()上指定MIME类型。尝试添加它,看看它是否有帮助。