AlarmManager を使用すると、Android アプリからいつでもアラームを設定できます。しかし、私が設定したすべてのアラームを一覧表示する方法はありますか? AlarmManager はそのようなメソッドを提供していないため、それに対する私のアプローチはどうあるべきですか。アラームをメモリにファイルとして保存する必要がありますか?
これで私を助けてください。
A.これに関しては、この投稿に適切な説明があります。アプリがインストールされているすべてのデバイスに AlarmClock アプリが存在するという保証はありません。たとえば、HTC スマートフォンの多くは、HTC 独自の「世界時計」アプリに置き換えられています。
ただし、標準の AlarmClock アプリが存在すると仮定すると、そのコンテンツ プロバイダーからカーソルを取得できるはずです。例としてこのプロジェクトを参照してください。
B. ListView のアイテムのレイアウトを作成する必要があります。
これに関するチュートリアルはインターネットで見つけることができます: http://www.vogella.com/articles/AndroidListView/article.html http://codehenge.net/blog/2011/05/customizing-android-listview-item-layout/
c.
final String tag_alarm = "tag_alarm";
Uri uri = Uri.parse("content://com.android.alarmclock/alarm")
Cursor c = getContentResolver().query(uri, null, null, null, null);
Log.i(tag_alarm, "no of records are" + c.getCount());
Log.i(tag_alarm, "no of columns are" + c.getColumnCount());
if (c != null) {
String names[] = c.getColumnNames();
for (String temp : names) {
System.out.println(temp);
}
if (c.moveToFirst()) {
do {
for (int j = 0; j < c.getColumnCount(); j++) {
Log.i(tag_alarm, c.getColumnName(j) + " which has value " + c.getString(j));
}
} while (c.moveToNext());
}
}
可能なすべてのリンクにアクセスすると、OS レベルで設定されたアラームを取得するアプリを作成することはできないという解決策にたどり着きました。ええ、ある程度は可能ですが、多くの場合、マシンに依存します。
したがって、アラームをデータベースに保存することをお勧めします。