java - 如何获取通知 Intent 数据

标签 java android notifications

我想在某个事件中显示通知,工作正常,我也登陆了我想要的 Activity ,但问题是, Intent 数据为空,请在此处,这是代码

    Intent resultIntent = new Intent(context, MovieDetailActivity.class);
        resultIntent.putExtra(Constants.MOVIE_ID, cursor.getString(
                cursor.getColumnIndexOrThrow(DatabaseHelper.ID)));
        TaskStackBuilder stackBuilder = TaskStackBuilder.create(context);
        stackBuilder.addNextIntentWithParentStack(resultIntent);
        PendingIntent resultPendingIntent =
                stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);
        NotificationCompat.Builder builder = new NotificationCompat.Builder(context)
                .setSmallIcon(R.drawable.ic_download)
                .setContentIntent(resultPendingIntent)
                .setContentTitle(cursor.getString(
                        cursor.getColumnIndexOrThrow(DatabaseHelper.NAME)))
                .setAutoCancel(true)
                .setContentText(cursor.getString(
                        cursor.getColumnIndexOrThrow(DatabaseHelper.REALEASE_DATE)));
        NotificationManager notificationManager = (NotificationManager)
                context.getSystemService(context.NOTIFICATION_SERVICE);

        notificationManager.notify(1, builder.build()
        );

我在这一行中使用 Intent 发送一些数据。

resultIntent.putExtra(Constants.MOVIE_ID, cursor.getString(
                cursor.getColumnIndexOrThrow(DatabaseHelper.ID)));

我在这里接收数据,但它为空。

Intent receivedIntent = getIntent();
    mMovieId = receivedIntent.getIntExtra(Constants.MOVIE_ID, -1);

请帮忙,我花了一整天的时间。

最佳答案

你传入intent String,这样你就无法从intent中获取Integer,这就是你得到null的原因。

所以改变这一行:

mMovieId = receivedIntent.getIntExtra(Constants.MOVIE_ID, -1);

 mMovieId = receivedIntent.getStringExtra(Constants.MOVIE_ID);  
// and simply parse string to integer  
       int id = Integer.parseInt(mMovieId);

关于java - 如何获取通知 Intent 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53122684/

相关文章:

java - 在新的 Android Studio 中找不到 UI 设计器

java - Android Sqlite 特殊字符

Android 模拟器运行几分钟后不断失去互联网连接

android - 我怎样才能获得默认短信应用程序的包名?

java - 安卓 : BasicSyncAdapter with parser JSON ANDROID

java - 在 Bluemix 上运行 Spring Boot 应用程序时出错

java - 在新线程中有监听器

ios - 在 iOS 中安排任务 - 我从哪里开始?

ios - 如果您在桌面上阅读过,Facebook Messenger 如何从锁定屏幕清除推送通知?

Android:如何设置通知的辅助图标?