2つのAPKをアップロードして適切なSDKバージョン番号を割り当てずに、特定のAndroidバージョンの[ホーム画面に追加>ウィジェット]ダイアログにウィジェットを表示することはできますか?
1878 次
2 に答える
32
コードなしでそれを行う方法があります。例:
res \ valuesディレクトリにbools.xmlファイルを作成します:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="honeycombOrAbove">false</bool>
</resources>
値を作成します-v11dir(ハニカム以上の値の場合)、ファイルをそのファイルにコピーし、値をtrueに設定します。
次に、ウィジェットレシーバーのマニフェストでandroid:enabled = "@ bool/honeycombOrAbove"を使用します。ウィジェットの構成アクティビティでも使用しました。
これは、ウィジェットがインストール時に無効になっていることを意味します。
于 2011-08-31T19:43:06.773 に答える
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);
于 2011-08-15T11:44:57.380 に答える