問題タブ [home-screen-widget]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Androidホーム画面でAndroidウィジェットをデフォルトにする
システム レベルの権限があり、ウィジェットをデバイスのホーム画面のデフォルト アイテムにしたいと考えています。
マニフェストで次を使用して試したこと
これはマニフェストのアプリケーションタグにあります
これは、StartOnBootReceiver.java というクラスにあります。
ログ記録により、デバイスの起動時にこのコードが実行されることはわかっていますが、ホーム画面にウィジェットを表示できないようです。
android - ホーム画面ウィジェットのクロノメーター - 間違ったカウントダウン形式
RemoteViews アイテムとして 1 つのクロノメーターを持つホーム画面ウィジェットがあります。将来のある時点からカウントダウンするには、このクロノメーターが必要です。クロノメーターは機能しますが、一部のデバイスで時刻の形式がおかしいことに気付きました。たとえば、残り 10 分 5 秒の場合、次の出力が得られます。
Huawei Mate 10 Lite (Android Oreo - API 26)
-10:05
Lollipop を搭載した Huawei G7 (API 22)
00:-605
- ここでの合計残り時間は秒数で表示されます。
私の質問: すべてのデバイスで結果が同じになるように、フォーマットを提供できる方法はありますか?
注:これは、アクティビティやフラグメント内ではなく、ホーム画面ウィジェットのクロノメーターに必要です。
編集: ウィジェットは AlarmManager から更新されます。BroadcastReceiver では、ウィジェットを更新する次のコードがあります。
android - アプリケーションが起動されていない場合、WorkManager がジョブを開始しない
WorkManager を使用して、ウィジェットを 1 時間に 1 回定期的に更新します。I enqueueのonEnabled
メソッドと. メソッドからの私のコードは次のとおりです。AppwidgetProvider
PeriodicWorkRequest
cancelAllWorkByTag
onDisabled
onEnabled
アプリを起動せずにウィジェットをセットアップする必要があるため、アプリケーションをインストールするときに、アプリケーションを開かずにホーム画面にウィジェットをセットアップします。問題は、アプリを最初に起動しないと onStartJob メソッドが呼び出されず、その理由がわかりません。これらは私が得たログです:
そして、これらはアプリが起動され、ウィジェットがセットアップされたときのログです
onStartJob
このメソッドは、アプリを最初に起動せずに 3 分、場合によっては 30 分で起動できる場合があることに気付きました。ジョブがスケジュールされた直後に起動されない理由を誰かが知っているかもしれません