是否有可能只为某个Android版本显示小部件?

时间:2011-08-15 10:42:32

标签: android android-widget apk android-version

是否可以在“添加到主屏幕>窗口小部件”对话框中仅显示特定的Android版本,而无需上传两个APK并分配到正确的SDK版本号?

2 个答案:

答案 0 :(得分:32)

我有办法在没有任何代码的情况下这样做:

在res \ values中,dir创建一个bools.xml文件:

<?xml version="1.0" encoding="utf-8"?> <resources> <bool name="honeycombOrAbove">false</bool> </resources>

创建一个值-v11目录(对于蜂窝或以上值),将文件复制到它并将值设置为true。

然后在小部件接收器的清单中使用:android:enabled =“@ bool / honeycombOrAbove”。我还在小部件的配置活动中使用它。

这意味着在安装时禁用小部件。

答案 1 :(得分:9)

您可以使用componentEnableSetting执行此操作。 只需禁用您不想列出的小部件。 电话重启后,更改将生效。

Context context = getApplicationContext();
String str1 = "org.classname.to.widget.provider";
ComponentName componentName = new ComponentName(context, str1);
PackageManager packageManager = getPackageManager();

int versioncode = Integer.valueOf(android.os.Build.VERSION.SDK);    

//enable widget
packageManager.setComponentEnabledSetting(componentName, 1, 1);

//disable widget
packageManager.setComponentEnabledSetting(componentName, 2, 1);