22

ウィジェットでアプリをアップグレードしています。これは私が行った最初のウィジェットではありません。私はいつも奇妙な問題に遭遇していましたが、最終的にはウィジェットがリストに表示されました.

これが私がこれまでに行ったことです:

  • widget_layout.xml を作成しました
  • widget_info.xml を作成しました
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"  
    android:minWidth="110dp"
    android:minHeight="30dp"
    android:updatePeriodMillis="86400000"
    android:initialLayout="@layout/widget_layout"
    android:resizeMode="none">
</appwidget-provider>
  • WidgetProvider クラスを作成しました
  • セクションのマニフェストにウィジェットを追加しました<application>(何らかの理由でここにマニフェスト フラグメントを貼り付けることができません。表示されていないだけです。コードはこちらを参照してください) 。

それでも、ウィジェット リストにウィジェットが見つかりません。実際のデバイスでアプリをデバッグしています。私はライブラリプロジェクトを使用していますが、ウィジェットファイルはすべてプロジェクト内で直接実行しています。ここで何が起こっているのでしょうか?

4

8 に答える 8

9

問題はandroid:installLocation="preferExternal"

アプリがSDにインストールされている場合、ウィジェットリストに何らかの問題が発生します

于 2013-04-12T07:35:03.273 に答える
8

考えられるすべての解決策を試しましたが、何もうまくいきませんでした...そしてついに解決しました。

私の場合、問題は考えすぎでした:メタデータタグでは、プロバイダーの一意の名前 (例: "com.example.myprovider") と xml リソースへのリンクを定義する必要があると考えていました。

違う:

<meta-data
      android:name="com.example.myprovider"
      android:resource="@xml/widget_info" />

右:

<meta-data
  android:name="android.appwidget.provider"
  android:resource="@xml/widget_info" />
于 2015-12-17T13:39:59.923 に答える
2

何時間もの検索と解決に失敗した後、機能するウィジェットのサンプル プロジェクトを開き、アイテムごとに比較して何が問題なのかを確認することにしました。最終的に、res/xml/widget_info に次の行を追加して解決しました。 .xml:

android:minHeight="XXXdp"
android:minResizeHeight="XXXdp"
android:minResizeWidth="XXXdp"
android:minWidth="XXXdp"

ここで、XXX は何らかの値です。

于 2013-06-29T09:39:33.683 に答える