android 缓存一个对象,android – PendingIntents继续缓存同一个对象_鹤立烟雨的博客-程序员宅基地

技术标签: android 缓存一个对象  

嗯,我想我找到了一些东西:

我放置了BroadcastReceiver(ProximityAlerReceiver),用于检测LocationListener.class所在的同一类(MyCarTracking.class)中的邻近警报.这个,

提供对新的位置更新的即时访问,创建包含在要向BroadcastReceiver触发的新pendingIntent中的新意图(仅当满足接近标准时).

flags:FLAG_ACTIVITY_NEW_TASK FLAG_ACTIVITY_SINGLE_TOP和FLAG_CANCEL_CURRENT分别保存在intent和pendingIntent上.进一步来说:

LocationListener的代码:

private final LocationListener locationListener = new LocationListener() {

public void onLocationChanged(Location location) {

updateWithNewLocation(location);//update application based on new location

}

public void onProviderDisabled(String provider){

updateWithNewLocation(null);//update application if provider disabled

}

public void onProviderEnabled(String provider){

// Update application if provider enabled

}

public void onStatusChanged(String provider, int status, Bundle extras){

//update application if provider hardware status changed

}

};

setProximityAlert()方法的代码:

private void setProximityAlert() {

String locService = Context.LOCATION_SERVICE;

Context context =getApplicationContext();

LocationManager locationManager;

locationManager = (LocationManager)getSystemService(locService);

float radius = myCar.getMyCarRadius();

long expiration = myCar.getMyCarExpiration();

Intent intent = new Intent(CAR_DISCOVERED);

intent.putExtra("myCar",myCar);

locationManager.getLastKnownLocation(provider);

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);//flagging intent

PendingIntent proximityIntent = PendingIntent.getBroadcast(context, -1, intent, PendingIntent.FLAG_CANCEL_CURRENT);//flagging pendingIntent

locationManager.addProximityAlert(myCar.getMyCarLat(), myCar.getMyCarLng(), radius, expiration, proximityIntent);//setting proximity alert

}

该解决方案通过新的位置更新产生新的意图.谢谢大家的帮助和兴趣:)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_33735910/article/details/117516967

智能推荐

金仓数据库KingbaseES的安全特性_沉舟侧畔千帆过_的博客-程序员宅基地

关键字:kingbase,数据安全KingbaseESV8R6中提供多种方法来保护用户数据安全:身份鉴别:静态口令,动态口令,生物特征,智能卡等鉴别方式 用户管理:采取三权分立:将管理员分为三个管理员,避免超级管理员权力过于集中。 数据访问控制:先进行自主访问控制判断,再通过强制访问控制判断,才能访问客体。 数据访问保护:数据页面一致性保护和加密函数 数据安全传输:kingbaseES支持通过SSL协议实现客户端和服务器的安全数据传输。 存储加密:引入加密框架,保护数据安全。 数据库审计

Python sklearn.externals中的joblib导入失败_SCscHero的博客-程序员宅基地

阅文时长| 0.31分钟字数统计| 512字符 主要内容| 1、引言&背景2、解决方案3、声明与参考资料 『Python sklearn.externals中的joblib导入失败』 编写人 | SCscHero 编写时间 | 2022/1/6 PM7:26 文章类型| 系列完成度 | 已完成 座右铭每一个伟大的事业,都有一个微不足道的开始。 一、引言&背景   完成度:10..

SQL Server 2008 18456 错误 和 sa无法登录的解决办法_achwv08480的博客-程序员宅基地

sql server 2008默认是不允许远程连接的,sa帐户默认禁用的,如果想要在本地用SSMS连接远程服务器上的SQL Server 2008,需要做两个部分的配置:  sql server 2008默认是不允许远程连接的,sa帐户默认禁用的,如果想要在本地用SSMS连接远程服务器上的SQL Server 2008,需要做两个部分的配置:  1,SQL Serv...

git push首次提交报错问题解决_白开水_0001的博客-程序员宅基地

刚配置好的git仓库服务器,首次提交的时候会报如下错误:remote: error: refusing to update checked out branch: refs/heads/master  remote: error: By default, updating the current branch in a non-bare repository remote: error:

随便推点

硬币问题 算法_zz一枚的博客-程序员宅基地

硬币问题问题描述:有n种硬币,面值分别为V1,V2,V3…Vn,每种都无限多。给定非负整数S,可以选用多少个硬币,是的面值之和恰好为S?输出硬币数目的最小值和最大值。1<=n<=100,0<=S<=10000,1<=Vi<=S。#include<iostream>#include<cstring>using namespace std;#define maxd 1000000int n,S,v[maxd],d[maxd];int dp

响应之返回值是String类型_学无止路的博客-程序员宅基地_返回string

响应之返回值是String类型1.创建用户的实体类代码如下:package com.txw.domain;import lombok.Data;import lombok.ToString;import java.io.Serializable;/** * 用户实体类 * @author Adair */@Data // 自动生成set和get方法@ToString // 重写toString方法@SuppressWarnings("all") //

Spring Boot自动配置原理(转)_weixin_34194087的博客-程序员宅基地

第3章 Spring Boot自动配置原理3.1 SpringBoot的核心组件模块首先,我们来简单统计一下SpringBoot核心工程的源码java文件数量:我们cd到spring-boot-autoconfigure工程根目录下。执行$ tree | grep -c .java$模块java文件数spring-boot551spr...

MySQL数据库InnoDB存储引擎中的锁机制(原创:宋利兵)_qiuyepiaoling的博客-程序员宅基地

原文地址MySQL数据库InnoDB存储引擎中的锁机制00 – 基本概念- 锁的基本类型  A. 共享锁(Shared Lock) 也叫读锁.  B. 排他锁(Exclusive Lock) 也叫写锁.- S、X锁的兼容性矩阵    S  X  S +  –   X -  -  + 代表兼容, -代表不兼容- 锁的粒度

centos自带php么,centos自带服务器吗?_麻天龙的博客-程序员宅基地

centos不是自带服务器的,安装方法:首先在root操作下新增oper用户;然后将oper用户加入到sudoers中;接着切换到oper重新登录;最后创建常用目录即可。centos不是自带服务器的,安装方法:1. 新增oper用户(root下操作)useradd oper# 修改密码:根据提示输入两次密码passwd oper将oper用户加入到sudoers中(可使用sudo命令)vi /et...

python flask_小小灰烬的博客-程序员宅基地

资料:官方文档:https://dormousehole.readthedocs.io/en/latest/quickstart.html#id2中文文档杂:https://www.kancloud.cn/hartnett/flask1.安装sudo pip install virtualenvpip install Flask。。。。2.极简例子from flask import Flaskapp = Flask(__name__)@app.route('/upload', met

推荐文章

热门文章

相关标签