android 蓝牙后台运行,Android后台服务蓝牙扫描

当遇到应用程序上下文不可用的问题时,开发者通过启动一个AlarmManager并设置每15分钟发送一次意图来解决。这个意图由自定义的BroadcastReceiver处理,该接收器在AndroidManifest.xml中注册。一旦意图被处理,应用程序上下文就变得可用,并可以启动服务。
摘要由CSDN通过智能技术生成

谢谢你的回答 . 问题是应用程序上下文不可用 . 我找到了解决方案 . 我启动一个Alarmmanager并每15分钟发送一次意图 . 这个意图由我自己的接收器处理,该接收器在AndroidManifest.xml中声明 . 如果处理了意图,则应用程序上下文可用,我可以启动该服务 .

启动AlarmManager

Intent alarmIntent = new Intent(MyApp.getAppContext(),AlarmBroadcastReceiver.class);

PendingIntent pi = PendingIntent.getBroadcast(MyApp.getAppContext(), 0, alarmIntent, 0);

AlarmManager alarmMgr = (AlarmManager)MyApp.getAppContext().getSystemService(Context.ALARM_SERVICE);

alarmMgr.setInexactRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,

AlarmManager.INTERVAL_FIFTEEN_MINUTES,

AlarmManager.INTERVAL_FIFTEEN_MINUTES, pi);

接收方代码

package com.example;

import android.content.BroadcastReceiver;

import android.content.Context;

import android.content.Intent;

public class AlarmBroadcastReceiver extends BroadcastReceiver{

@Override

public void onReceive(Context arg0, Intent arg1) {

}

}

在AndroidManifest.xml中声明Receiver

android:enabled="true"

android:name="com.example.AlarmBroadcastReceiver"

android:exported="false">

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值