Eclipseを介してGalaxyNexusで正常に動作するウィジェットを作成しましたが、署名付きapkを作成し、電話からデバッグバージョンをアンインストールし、新しいapkをインストールしてホーム画面に配置しようとすると、次のトーストが表示されますメッセージ:「アプリがインストールされていません」。
なぜこれが起こるのか考えはありますか?
ありがとう
Eclipseを介してGalaxyNexusで正常に動作するウィジェットを作成しましたが、署名付きapkを作成し、電話からデバッグバージョンをアンインストールし、新しいapkをインストールしてホーム画面に配置しようとすると、次のトーストが表示されますメッセージ:「アプリがインストールされていません」。
なぜこれが起こるのか考えはありますか?
ありがとう
実際、私は何が悪かったのかを知りました。同じコードに基づいていくつかのウィジェットを作成しています。ビルドする直前に、パッケージ名をリファクタリングして変更しました。appwidget-provider xmlの「android:configure」フィールドを更新できなかったため、構成アクティビティが「見つかりません」でした。
この問題が発生したばかりで、解決策はここでは説明されていません。ウィジェットの構成に使用したアクティビティを変更しましたが、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>
同じ問題が私のアプリにもありました。私がしたことは、appwidget-provider xmlから「android:configure」フィールドを削除するだけで、正常に動作を継続できるようになりました。
マニフェストに「maxSdkVersion」パラメータを指定したかどうかを確認してください。これにより、特定のデバイスでエラーが発生する可能性があります...代わりにtargetSdkVersionを指定することをお勧めします。
それが私の間違いのために他の人を助けることができる場合、私
は誤って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="正しい構成アクティビティを確認してください
この問題でも同じ問題が発生しました。https: //stackoverflow.com/a/11187572/3763837の
おかげで、問題を修正できました。デフォルトでは21でしたが、19に変更しました。アプリは正常に動作しています。<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="19" />