2

ユーザーが通知をクリックしたときにアクティビティを起動するにはどうすればよいですか? 私は絶え間なくクラッシュしています。通知をクリックしても機能しません。以下に示すonclickメソッドがあります。ButtonOne というボタンが押されると、画面の上部のメニュー バーに通知が表示されます。ユーザーが通知を押して、MainActivity というアクティビティを起動できるようにしたかったのです。クラッシュし、ページが起動しません。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());


    }
});
4

1 に答える 1

2

問題はコードではなく AVD Android エミュレーターであることがわかりました。何らかの理由で、以前のバージョンからコードを更新しませんでした。再度テストしたところ、エラーなしで実行されるようになりました。

于 2012-10-18T07:09:55.710 に答える