牛轧糖中的动态快速设置图块

时间:2016-08-28 12:21:18

标签: android android-service android-7.0-nougat

我可以使用服务静态地将快速设置磁贴添加到我的应用中,并通过

在清单中声明它
template<typename K, typename E>
bool maps_equal(const std::map<K, E> &map, const std::unordered_map<K, E> &unordered_map) {
    return
        map.size() == unordered_map.size() &&
        std::all_of(map.cbegin(), map.cend(), [&](const std::pair<const K, E> &item) {
            auto iter = unordered_map.find(item.first);
            return iter != unordered_map.end() && iter->second == item.second;
        });
}

我可以将上面的图块添加到快速设置中并与之交互。但我需要允许它们动态添加。比如,我在我的应用程序中提供设置以打开或关闭某些图块,并且图块反映了快速图块编辑菜单中可用图块的可用性。我该怎么做?

1 个答案:

答案 0 :(得分:0)

通过包管理器启用和禁用服务解决了这个问题。

if (state) {
   pm.setComponentEnabledSetting(componentName,
   PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
   PackageManager.DONT_KILL_APP);
} else
   pm.setComponentEnabledSetting(componentName,
   PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
   PackageManager.DONT_KILL_APP);

其中state是表示服务开关的布尔值