13

Eclipseを介してGalaxyNexusで正常に動作するウィジェットを作成しましたが、署名付きapkを作成し、電話からデバッグバージョンをアンインストールし、新しいapkをインストールしてホーム画面に配置しようとすると、次のトーストが表示されますメッセージ:「アプリがインストールされていません」。

なぜこれが起こるのか考えはありますか?

ありがとう

4

6 に答える 6

35

実際、私は何が悪かったのかを知りました。同じコードに基づいていくつかのウィジェットを作成しています。ビルドする直前に、パッケージ名をリファクタリングして変更しました。appwidget-provider xmlの「android:configure」フィールドを更新できなかったため、構成アクティビティが「見つかりません」でした。

于 2012-06-26T02:02:49.367 に答える
27

この問題が発生したばかりで、解決策はここでは説明されていません。ウィジェットの構成に使用したアクティビティを変更しましたが、AndroidManifest.xmlにウィジェットのインテントフィルターを追加するのを忘れていました。

<activity android:name="com.mypackage.ConfigureWidget" 
          android:label="@string/configureWidget">
    <intent-filter>
        <action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />
    </intent-filter>
</activity>
于 2012-09-07T22:31:23.223 に答える
9

同じ問題が私のアプリにもありました。私がしたことは、appwidget-provider xmlから「android:configure」フィールドを削除するだけで、正常に動作を継続できるようになりました。

于 2012-10-08T06:03:58.967 に答える
1

マニフェストに「maxSdkVersion」パラメータを指定したかどうかを確認してください。これにより、特定のデバイスでエラーが発生する可能性があります...代わりにtargetSdkVersionを指定することをお勧めします。

于 2012-06-25T10:28:11.930 に答える
0

それが私の間違いのために他の人を助けることができる場合、私
は誤ってandroid:exported = "false"を追加
し、ウィジェットの構成が機能するためには、エクスポートされたものがtrueである必要があります。

要約すると、以下を確認してください
1)アクティビティandroid:nameが実際に正しいパッケージ名を指している、特に「.widget.xxxxxActivity」を使用する(終止符に注意)
2)android:exported = "true"
3)設定アクティビティは以下のとおりです

  <intent-filter>
    <action android:name="android.appwidget.action.APPWIDGET_CONFIGURE"/>
  </intent-filter>

4)appwidget-provider内で、ステップ1でandroid:configure="正しい構成アクティビティを確認してください

于 2014-04-27T08:55:43.707 に答える
0

この問題でも同じ問題が発生しました。https: //stackoverflow.com/a/11187572/3763837の おかげで、問題を修正できました。デフォルトでは21でしたが、19に変更しました。アプリは正常に動作しています。<uses-sdk android:minSdkVersion="11" android:targetSdkVersion="19" />

于 2014-09-01T04:57:05.223 に答える