Gal*_*lal 4 android android-widget
我需要实现一个使用Stackview的小部件,它支持sdk 11及更高版本.我的应用程序使用sdk 8,所以我可以根据sdk版本启用/禁用小部件吗?
Com*_*are 11
如果应用程序窗口小部件完全不可用,请<receiver>在清单(android:enabled="false")中将其标记为已禁用.然后,在您的应用首次运行时,检查您的版本并通过PackageManager和有条件地启用应用小部件setComponentEnabledSetting().唯一的缺点是,您的应用小部件在第一次启动您的应用之前不会显示为可用.
如果app小部件只是在不同版本上具有不同的行为,则res/layout-v11/用于StackView实现和res/layout/非StackView实现.您AppWidgetProvider可以检查API级别并相应地配置RemoteViews相关内容.
在res \ values文件夹中创建xml bools.xml并添加以下行
res \ values
<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="widgetenable">false</bool>
</resources>
Run Code Online (Sandbox Code Playgroud)
和以同样的方式在values-v11文件夹中添加bool.xml一样,只需替换widgetenable即可
res \ values-v11
<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="widgetenable">true</bool>
</resources>
Run Code Online (Sandbox Code Playgroud)
然后在您的manisfest.xml中的小部件recever标签上添加此行
android:enabled="@bool/widgetenable"
Run Code Online (Sandbox Code Playgroud)
这将基于sdk启用或禁用小部件。
| 归档时间: |
|
| 查看次数: |
3689 次 |
| 最近记录: |