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

智能推荐

GitHub下载项目加速(升华版)_雨花阁github-程序员宅基地

文章浏览阅读1.8k次。现状:一个痛点众所周知,GitHub 是一个巨大的开源宝库,以及程序员和编程爱好者的聚集地,包括我之前推荐的诸多优秀的开源项目全部都是位于 GitHub 上。但是每当我们看到优秀的开源项目,准备去下(bai)载(piao)时,会发现 git clone的速度异常之慢!就我个人而言,在我家里 200M 移动宽带的环境下,我克隆开源项目就没发现速度大于过 20.00KiB/s的时候,这简直太难受了..._雨花阁github

你一定能看懂的tf.nn.bidirectional_dynamic_rnn()详解-程序员宅基地

文章浏览阅读705次。bidirectional_dynamic_rnn的使用详解_tf.nn.bidirectional_dynamic_rnn

使用c语言实现100-200之内的素数-程序员宅基地

文章浏览阅读72次。【代码】使用c语言实现100-200之内的素数。

C++ 多态的实现原理面试知识点总结_c++多态的实现原理 面经-程序员宅基地

文章浏览阅读588次。一、什么是多态在面向对象开发中,多态是一个很重要的特性。什么是多态呢?就是程序运行时,父类指针可以根据具体指向的子类对象,来执行不同的函数,表现为多态。二、C++ 多态的实现原理【1】 实现原理1、当类中存在虚函数时,编译器会在类中自动生成一个虚函数表2、虚函数表是一个存储类成员函数指针的数据结构3、虚函数表由编译器自动生成和维护4、virtual 修饰的成员函数会被编译器放入..._c++多态的实现原理 面经

Android模块中调用主模块方法_android 子module访问主module方法-程序员宅基地

文章浏览阅读435次。在Android开发中,模块化设计是一种常见的开发方式,可以将复杂的应用系统拆分成多个独立的模块,每个模块负责特定的功能。当我们需要在一个模块中访问另一个模块中的方法时,就需要进行模块之间的调用。本文将介绍如何在Android模块中调用主模块的方法,并提供相应的源代码示例。首先,我们需要创建一个Android项目,其中包含两个模块:主模块和子模块。主模块负责提供公共方法,子模块则需要调用主模块中的方法。在子模块(mymodule)中,我们需要引用主模块,并调用其中的方法。,并在其中调用主模块的方法。_android 子module访问主module方法

简单的visual studio code的C语言环境配置_vscodec语言环境配置-程序员宅基地

文章浏览阅读6.8k次,点赞13次,收藏67次。visual studio code,C/C++调试运行环境的简单配置教程,自动配置工具。_vscodec语言环境配置

随便推点

简述生产车间调度优化问题-程序员宅基地

文章浏览阅读184次。介绍了车间调度问题的分类、常用基本模型,和主流的求解方法

Xcode创建的工程使用xcodebuild命令行编译_dvtcoredeviceenabledstate: dvtcoredeviceenabledsta-程序员宅基地

文章浏览阅读1.2w次,点赞2次,收藏6次。Xcode创建的工程使用xcodebuild命令行编译1、确保xcodebuild能够正常运行如果使用xcodebuild命令出现如下错误:could not stat active Xcode path '/Volumes/Xcode/Xcode.app/Contents/Developer'. (No such file or directory)解决办法:xcode-_dvtcoredeviceenabledstate: dvtcoredeviceenabledstate_disabled set via user d

图像的一种处理方式----灰度矩阵运算(matlab)-程序员宅基地

文章浏览阅读1.5w次,点赞10次,收藏50次。图像的一种处理方式----灰度矩阵运算(matlab) 图片的存储是基于多维矩阵的。而灰度矩阵运算对应的是图像的一种处理方式。 在数字图像中,黑白图像的像素点的亮度是用0-255的二进制数表示的,称为灰度。灰度矩阵就是各个像素点亮度的二进制存储矩阵。 以下是灰度矩阵的常见运算: (1)观察两个图像经灰..._灰度矩阵

模型压缩与剪枝:深度学习的新技术-程序员宅基地

文章浏览阅读362次,点赞4次,收藏7次。1.背景介绍深度学习已经成为人工智能领域的核心技术之一,它在图像识别、自然语言处理、语音识别等方面取得了显著的成果。然而,深度学习模型的复杂性和计算资源需求也成为了其应用限制的重要因素。因此,模型压缩和剪枝技术在深度学习领域的研究和应用得到了广泛关注。模型压缩主要通过减少模型的参数数量和计算量来减小模型的大小,从而降低计算资源的需求。剪枝技术则通过去除模型中不重要的神经元或连接来简化模型,...

Python成绩分析代码_关于学生成绩分析的代码-程序员宅基地

文章浏览阅读1k次,点赞25次,收藏18次。Python成绩分析代码用于对学生的成绩数据进行统计和分析。通过编写相应的代码,可以计算平均分、最高分、最低分、成绩排名等统计指标,以及生成成绩报告或可视化图表。总之,Python成绩分析代码为学生成绩的统计和分析提供了便捷的工具和方法,拓展其功能可以提供更多的统计指标和可视化方式,以及与其他数据分析算法的结合。Python成绩分析代码能够对学生的成绩数据进行统计和分析,提供平均分、最高分等统计指标。Python成绩分析代码使得对学生成绩进行统计和分析更加方便和高效,对教育管理和研究等领域产生了积极影响。_关于学生成绩分析的代码

搭建 CentOS 6 服务器(11) - rsync、Amanda-程序员宅基地

文章浏览阅读132次。[b](一)rsync[/b]Server端[code="java"]# yum install rsync# vi /etc/xinetd.d/rsync service rsync { disable = no flags = IPv6 socket_type = stream..._amanda restore

推荐文章

热门文章

相关标签