問題タブ [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.

0 投票する
0 に答える
83 参照

java - Androidホーム画面でAndroidウィジェットをデフォルトにする

システム レベルの権限があり、ウィジェットをデバイスのホーム画面のデフォルト アイテムにしたいと考えています。

マニフェストで次を使用して試したこと

これはマニフェストのアプリケーションタグにあります

これは、StartOnBootReceiver.java というクラスにあります。

ログ記録により、デバイスの起動時にこのコードが実行されることはわかっていますが、ホーム画面にウィジェットを表示できないようです。

0 投票する
0 に答える
84 参照

android - ホーム画面ウィジェットのクロノメーター - 間違ったカウントダウン形式

RemoteViews アイテムとして 1 つのクロノメーターを持つホーム画面ウィジェットがあります。将来のある時点からカウントダウンするには、このクロノメーターが必要です。クロノメーターは機能しますが、一部のデバイスで時刻の形式がおかしいことに気付きました。たとえば、残り 10 分 5 秒の場合、次の出力が得られます。

Huawei Mate 10 Lite (Android Oreo - API 26)
-10:05

Lollipop を搭載した Huawei G7 (API 22)
00:-605- ここでの合計残り時間は秒数で表示されます。

私の質問: すべてのデバイスで結果が同じになるように、フォーマットを提供できる方法はありますか?

注:これは、アクティビティやフラグメント内ではなく、ホーム画面ウィジェットのクロノメーターに必要です。

編集: ウィジェットは AlarmManager から更新されます。BroadcastReceiver では、ウィジェットを更新する次のコードがあります。

0 投票する
0 に答える
316 参照

android - アプリケーションが起動されていない場合、WorkManager がジョブを開始しない

WorkManager を使用して、ウィジェットを 1 時間に 1 回定期的に更新します。I enqueueのonEnabledメソッドと. メソッドからの私のコードは次のとおりです。AppwidgetProviderPeriodicWorkRequestcancelAllWorkByTagonDisabledonEnabled

アプリを起動せずにウィジェットをセットアップする必要があるため、アプリケーションをインストールするときに、アプリケーションを開かずにホーム画面にウィジェットをセットアップします。問題は、アプリを最初に起動しないと onStartJob メソッドが呼び出されず、その理由がわかりません。これらは私が得たログです:

そして、これらはアプリが起動され、ウィジェットがセットアップされたときのログです

onStartJobこのメソッドは、アプリを最初に起動せずに 3 分、場合によっては 30 分で起動できる場合があることに気付きました。ジョブがスケジュールされた直後に起動されない理由を誰かが知っているかもしれません