我正在尝试创建一个基本应用程序,在其中创建一个 regionBootstrap 用于对各种类型的信标进行后台监控,就像在参考应用程序中一样。
但是,我不想在进入信标区域时将应用程序置于前台,而是简单地显示“您已进入信标区域”本地通知。
我认为这需要在“扩展应用程序实现 BootStrapNotifier”类中的 onCreate 方法中进行编码。但我也看到启动主要活动的意图是在 didEnterRegion 方法中实例化的,所以这实际上是我需要编写通知的地方吗?
我正在尝试创建一个基本应用程序,在其中创建一个 regionBootstrap 用于对各种类型的信标进行后台监控,就像在参考应用程序中一样。
但是,我不想在进入信标区域时将应用程序置于前台,而是简单地显示“您已进入信标区域”本地通知。
我认为这需要在“扩展应用程序实现 BootStrapNotifier”类中的 onCreate 方法中进行编码。但我也看到启动主要活动的意图是在 didEnterRegion 方法中实例化的,所以这实际上是我需要编写通知的地方吗?
触发后台通知的最简单方法是创建一个自定义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 信标库的参考应用程序中看到完整的示例。