牛轧糖中的动态快速设置磁贴
Dynamic Quick Settings tile in nougat
我可以使用服务静态地向我的应用程序添加快速设置磁贴,并通过
在清单中声明它
<service android:name=".QuickSettingsService"
android:icon="@drawable/ic_qt_24dp"
android:label="@string/qt_label"
android:permission="android.permission.BIND_QUICK_SETTINGS_TILE">
<intent-filter>
<action android:name="android.service.quicksettings.action.QS_TILE" />
</intent-filter>
</service>
而且我能够将上面的图块添加到快速设置并与之交互。但我需要允许动态添加它们。例如,我在我的应用程序中提供设置以打开或关闭某些图块,并且该图块反映了快速图块编辑中可用图块的可用性 menu.How 我要这样做吗?
通过包管理器启用和禁用服务解决了这个问题。
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 是表示服务开关的布尔值
我可以使用服务静态地向我的应用程序添加快速设置磁贴,并通过
在清单中声明它<service android:name=".QuickSettingsService"
android:icon="@drawable/ic_qt_24dp"
android:label="@string/qt_label"
android:permission="android.permission.BIND_QUICK_SETTINGS_TILE">
<intent-filter>
<action android:name="android.service.quicksettings.action.QS_TILE" />
</intent-filter>
</service>
而且我能够将上面的图块添加到快速设置并与之交互。但我需要允许动态添加它们。例如,我在我的应用程序中提供设置以打开或关闭某些图块,并且该图块反映了快速图块编辑中可用图块的可用性 menu.How 我要这样做吗?
通过包管理器启用和禁用服务解决了这个问题。
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 是表示服务开关的布尔值