/ / é possível mostrar o widget apenas para uma determinada versão do Android? - android, android-widget, apk, versão android

é possível mostrar widget apenas para uma certa versão do Android? - android, android-widget, apk, android-versão

é possível mostrar o widget na caixa de diálogo "Adicionar à tela inicial> Widgets" apenas para uma determinada versão do Android sem fazer upload de dois APKs e atribuir os números de versão adequados do SDK?

Respostas:

31 para resposta № 1

Eu tenho uma maneira de fazer isso sem nenhum código, por exemplo:

No diretório resvalues, crie um arquivo bools.xml:

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

Crie um diretório values-v11 (para valores de favo de mel ou acima), copie o arquivo para ele e defina o valor como true.

Em seguida, no manifesto para o receptor do widget, use: android: enabled = "@ bool / honeycombOrAbove". Eu também o usei na atividade de configuração do widget.

Isso significa que o widget está desativado no momento da instalação.


9 para resposta № 2

Você pode fazer isso com o componentEnableSetting. Apenas desative o widget que você não deseja listar. A alteração será ativada após a reinicialização do telefone.

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);