android - 如何通过点击通知启动 Activity ?

标签 android notifications onclick launcher

当用户单击通知时,如何启动 Activity ?我经常发生崩溃。我无法点击通知来工作。有一个如下所示的 onclick 方法。当按下名为 ButtonOne 的按钮时,它将在屏幕顶部菜单栏中启动通知。我希望用户能够按下通知并让它启动名为 MainActivity 的 Activity 。它崩溃并且不会启动该页面。我放在 MainActivity 类中的通知代码可能有问题。怎么了?

    ButtonOne.setOnClickListener(new View.OnClickListener() {

      private int mId;

    // anonymous inner class override for on click
    public void onClick(View v) {

        Intent myIntent = new Intent(MainActivity.this, CoverFlowExample.class);
         MainActivity.this.startActivity(myIntent);



         NotificationCompat.Builder mBuilder =
                    new NotificationCompat.Builder(MainActivity.this)
                    .setSmallIcon(R.drawable.ic_launcher)
                    .setContentTitle("My notification")
                    .setContentText("Hello World!");
            // Creates an explicit intent for an Activity in your app
            Intent resultIntent = new Intent(MainActivity.this, MainActivity.class);

            // The stack builder object will contain an artificial back stack for the
            // started Activity.
            // This ensures that navigating backward from the Activity leads out of
            // your application to the Home screen.
            TaskStackBuilder stackBuilder = TaskStackBuilder.create(MainActivity.this);
            // Adds the back stack for the Intent (but not the Intent itself)
            stackBuilder.addParentStack(MainActivity.class);
            // Adds the Intent that starts the Activity to the top of the stack
            stackBuilder.addNextIntent(resultIntent);
            PendingIntent resultPendingIntent =
                    stackBuilder.getPendingIntent(
                        0,
                        PendingIntent.FLAG_UPDATE_CURRENT
                    );
            mBuilder.setContentIntent(resultPendingIntent);
            NotificationManager mNotificationManager =
                (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
            // mId allows you to update the notification later on.
            mNotificationManager.notify(mId, mBuilder.build());


    }
});

最佳答案

发现问题出在 AVD android 模拟器而不是代码上。由于某种原因,它没有更新早期版本的代码。再次测试,现在运行没有错误。

关于android - 如何通过点击通知启动 Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12948634/

相关文章:

android - 如何使用socket io从服务器接收消息

Android-显示全局应用信息

Android 手势替代物理方向键

iOS 10.0 * 在前台处理推送通知

java - Facebook 之类的通知或 ajax 调用?

javascript - 使用 SP2010 中的按钮更改页面,奇怪的行为

javascript - 使用带有 onclick 事件的 Javascript 启动 CSS3 动画

android - FloatingActionButton 锚定在 View 顶部

python - 如何在 bluez 中编写客户端特征配置描述符

php - 单击提交按钮时不使用重定向