当前位置: 首页 > 面试题库 >

Android后台服务中的位置侦听器

夏侯华彩
2023-03-14
问题内容

哪种方法更好,直接LocationListener像这样执行

public class BackgroundService extends Service implements LocationListener {}

或通常LocationListener在类内部声明?

LocationListener locationListener = new LocationListener() {};

问题答案:

在第二段代码中,必须在调用locationListener接口的方法之前先调用属性。

在第一段代码中,您可以直接访问接口方法。

因此,如果您知道每个方法调用都会花费cpu时间,则直接在类中实现它而不是将其作为属性将是有益的。

在这种情况下,您有1个引用,可以BackgroundService使用该引用访问LocationListener的方法

public class BackgroundService extends Service implements LocationListener {}

在这种情况下,您有2个引用,一个是 BackgroundService ,另一个是 locationListener

public class BackgroundService extends Service {
    private LocationListener locationListener = new LocationListener() {};
}

但是话又说回来,如果您的程序没有关键的时间限制,那就没关系了。最重要的是您的代码可读。

我希望能回答您的问题。



 类似资料:
  • 嘿,当我运行应用程序时,它会给出一个错误java.lang.IllegalArgumentException:Invalid listener:null,这说明侦听器是空的。我是初学者,所以请大家帮忙解决这个问题。在这一行中出现错误:LocationManager.RequestLocationUpdates(provider,2000,0,locationListener);//这里是我的示例代

  • 我有一个后台服务,每12分钟更新一次位置。我们希望每5-6分钟测试一次位置更新,但在Android文档中我们发现: 为了降低功耗,Android8.0(API Level26)限制了后台应用程序检索用户当前位置的频率。应用程序每小时只能接收几次位置更新。 限制是每小时固定次数?

  • 要运行Kafka,需要在文件。有两种设置我不理解。 有人可以解释侦听器和广告侦听器属性之间的区别吗? 留档说: 侦听器:套接字服务器侦听的地址。 和 advertised.listeners:主机名和端口代理将向生产者和消费者做广告。 我什么时候必须使用哪个设置?

  • 我的背景粘性服务是杀死奥利奥和更高的设备,任何解决方案,以获得位置的背景服务时,活动是在后台

  • 我正在构建一个在后台工作的iOS应用程序,并每3分钟将用户的位置发布到服务器上(因为这是iOS 7上的最长后台执行时间)。但是,有一个问题,后台服务在随机时间终止。所以有时候它可以在后台运行2个小时,有时候7个小时,然后3个小时,然后是随机的,依此类推。 下面的代码产生错误。我已经能够检测到它何时终止,也就是[UIApplication sharedApplication]何时终止。剩余的背景时间

  • 问题内容: 如何在不显示通知点的情况下继续在Android Oreo中进行后台服务?我使用通知继续后台服务,但我不想显示正在运行的服务的通知。 问题答案: 如果您可以在此处的某处正确阅读 Android Oreo 8.0 文档,则可能未在此处发布此问题。 步骤1: 确保您将服务作为前台启动,如以下代码所示 步骤2: 使用通知显示您的服务正在运行。在的方法中的代码下面添加一行。 步骤3:在服务停止或