Fork me on GitHub

Android Service Notification Back To App

Service:

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

    private void showNotification(String beaconid) {
        TaskStackBuilder stackBuilder = TaskStackBuilder.create(getApplicationContext());
        // Adds the back stack
        stackBuilder.addParentStack(MainActivity.class);
        // Adds the Intent to the top of the stack
        Intent resultIntent = new Intent(getApplicationContext(), MainActivity.class);
        Bundle bundle = new Bundle();
        bundle.putString("bid", beaconid);
        resultIntent.putExtras(bundle);
        stackBuilder.addNextIntent(resultIntent);
        // Gets a PendingIntent containing the entire back stack
        PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0,
                PendingIntent.FLAG_UPDATE_CURRENT);

        Notification notification = new Notification.Builder(getApplicationContext())
                .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher))
                .setSmallIcon(R.drawable.ic_launcher)
                .setTicker("Buzz Exhibition")
                .setContentInfo("Go")
                .setContentTitle("展品信息")
                .setContentText(String.format("您正在浏览展品No.%s,请点击查看详细介绍", beaconid))
                .setContentIntent(resultPendingIntent)
                .setAutoCancel(true)
                .setDefaults(Notification.DEFAULT_ALL)
                .build();
        manager.notify(0, notification);
    }

MainActivity:

        Bundle bundle = this.getIntent().getExtras();
        if (bundle != null) {
            if (bundle.containsKey("bid")) {
                showImage(bundle.getString("bid"));
            }
        }

 Ref:Android Notification 的总结分析

 Ref:Android 通知之Notification

 Ref:Android Notification完全解析

posted @ 2015-03-12 17:47  Nick.Chung  阅读(281)  评论(0编辑  收藏  举报