0

ユーザーが更新頻度を定義し、実行時に変更できるウィジェットを作成しようとしています。アラームマネージャーを使用してそれを行うことができますが、アラームの設定後にアラームの間隔を変更する方法はありますか?

そうでない場合でも、キャンセルして新しい間隔で再開できますが、ウィジェットがホーム画面に追加されていない可能性があるため、これがどのように機能するかわかりません。問題は、アラームが発生しているかどうかを知る方法はありますか実行中またはそれ以上、ウィジェットはホーム画面にありますか?

ありがとう

// EDIT ウィジェットが存在するかどうかを判断する方法

private boolean widgetExists() {
    ComponentName myWidget = new ComponentName(this, MyWidgetProvider.class);
    int[] ids = AppWidgetManager.getInstance(this).getAppWidgetIds(myWidget);
    return ids.length > 0;
}
4

1 に答える 1

1

設定後にアラームの間隔を変更する方法はありますか?

これについては、次のドキュメントを参照できますAlarmManager.setRepeating()

繰り返しアラームをスケジュールする... 同じ IntentSender に対してスケジュールされたアラームが既にある場合は、最初にキャンセルされます。

つまり、同じタイプのアラームを設定すると、既存の間隔がキャンセルされ、新しい値でアラームがリセットされます。


アラームが作動しているかどうかを知る方法はありますか?ウィジェットはホーム画面にありますか?

これは の仕事ですAppWidgetProvider。プロバイダーのコールバック ( onEnabledonUpdateなど) を使用して、実際にアクティブなウィジェットがあるかどうかの状態を判断できます ( AppWidgetProvider docs )。

于 2012-12-15T23:37:10.973 に答える