4

私のアプリでは、時間をアナログ時計形式で表示するウィジェットを作成しました。実際にアラームクラスを表示しているウィジェットをクリックすると、そのウィジェットのアラームが設定され、正常に動作します。

そのために、次のコードを使用しました。

ウィジェットをクリックすると、更新でこれを呼び出し、これからアラームクラスを取得します。

PendingIntent pendingIntent = PendingIntent.getActivity(
    context, 0, getAlarmPackage(context), 0);
rv_ana.setOnClickPendingIntent(R.id.clock, pendingIntent);
appWidgetManager.updateAppWidget(appWidgetId, rv_ana);

とアラーム機能方法:

public Intent getAlarmPackage(Context context) {
    PackageManager packageManager = context.getPackageManager();
    Intent AlarmClockIntent = new Intent(Intent.ACTION_MAIN)
            .addCategory(Intent.CATEGORY_LAUNCHER);

    String clockImpls[][] = {
            { "Standard Alarm", "com.android.alarmclock",
                    "com.android.alarmclock.AlarmClock" },
            { "HTC Alarm ClockDT", "com.htc.android.worldclock",
                    "com.htc.android.worldclock.WorldClockTabControl" },
            { "Standard Alarm ClockDT", "com.android.deskclock",
                    "com.android.deskclock.AlarmClock" },
            { "Froyo Nexus Alarm ClockDT", "com.google.android.deskclock",
                    "com.android.deskclock.DeskClock" },
            { "Moto Blur Alarm ClockDT", "com.motorola.blur.alarmclock",
                    "com.motorola.blur.alarmclock.AlarmClock" },
            { "Samsung Galaxy S", "com.sec.android.app.clockpackage",
                    "com.sec.android.app.clockpackage.ClockPackage" } 
    };

    boolean foundClockImpl = false;

    for (int i = 0; i < clockImpls.length; i++) {
        String packageName = clockImpls[i][1];
        String className = clockImpls[i][2];
        try {
            ComponentName cn = new ComponentName(packageName, className);
            packageManager.getActivityInfo(
                        cn, PackageManager.GET_META_DATA);
            AlarmClockIntent.setComponent(cn);    
            foundClockImpl = true;
        } catch (NameNotFoundException nf) {
        }
    }
    if (foundClockImpl) {
        return AlarmClockIntent;
    } else {
        return null;
    }
}

しかし、私の要件は、このアラーム機能から、時間単位と分単位の時間を取得する方法です。実はその機能はアラームを自動で表示してくれるのですが、時間が知りたいです。それは可能ですか?助けて?

4

2 に答える 2