gpt4 book ai didi

java - 如何检测应用程序快速设置磁贴是否已添加

转载 作者:行者123 更新时间:2023-12-02 10:40:44 26 4
gpt4 key购买 nike

我按照本教程构建了 QuickSettings 磁贴: https://codelabs.developers.google.com/codelabs/android-n-quick-settings/#0

到目前为止一切都很好,但现在我陷入了困境:

如何检测(在 Activity 内)当前是否添加了图 block ?

我的第一次尝试是将其存储在文件中(使用 onTileAddedonTileRemoved),但这可能会不同步(“数据清除”或用户编辑)如果使用外部存储)。

有没有安全的方法可以获取此信息?

最佳答案

您可以在服务中使用静态变量:

public class MyTileService extends TileService {
public static boolean isAdded = false;

//...

@Override
public void onTileAdded() {
isAdded = true;
}

@Override
public void onTileRemoved() {
isAdded = false;
}
}

然后只需从您的 Activity 中访问该变量即可。

不幸的是,由于 TileServices 已经重写了 onBind(),因此您无法使用 Binder 来按需获取值。作为静态变量的替代方案,请考虑使用 LocalBroadcastManager 在添加或删除 TileService 时从 TileService 发送广播。然后您可以在 Activity 中接收结果并使用它来更新那里的全局变量。

关于java - 如何检测应用程序快速设置磁贴是否已添加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52936327/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com