0

我正在尝试创建一个基本应用程序,在其中创建一个 regionBootstrap 用于对各种类型的信标进行后台监控,就像在参考应用程序中一样。

但是,我不想在进入信标区域时将应用程序置于前台,而是简单地显示“您已进入信标区域”本地通知。

我认为这需要在“扩展应用程序实现 BootStrapNotifier”类中的 onCreate 方法中进行编码。但我也看到启动主要活动的意图是在 didEnterRegion 方法中实例化的,所以这实际上是我需要编写通知的地方吗?

4

1 回答 1

0

触发后台通知的最简单方法是创建一个自定义Application类来实现BootstrapNotifier. 然后将通知代码放入didEnterRegion回调方法中,如下所示:

@Override
public void didEnterRegion(Region arg0) {
    NotificationCompat.Builder builder =
            new NotificationCompat.Builder(this)
                    .setContentTitle("Beacon Reference Application")
                    .setContentText("A beacon is nearby.")
                    .setSmallIcon(R.drawable.ic_launcher);

    TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
    stackBuilder.addNextIntent(new Intent(this, MonitoringActivity.class));
    PendingIntent resultPendingIntent =
            stackBuilder.getPendingIntent(
                    0,
                    PendingIntent.FLAG_UPDATE_CURRENT
            );
    builder.setContentIntent(resultPendingIntent);
    NotificationManager notificationManager =
            (NotificationManager) this.getSystemService(Context.NOTIFICATION_SERVICE);
    notificationManager.notify(1, builder.build());

}

您可以在Android 信标库的参考应用程序中看到完整的示例。

于 2015-08-25T12:02:21.193 回答