2011-12-29 15 views
3

私のアプリケーションで、私は自分のアプリケーションを使用してアラームを追加したいと思います。だから、私は自分のアプリケーションから直接電話のアラームの追加画面を起動したい。では、Intentを使って起動する方法は?Androidでインテントを使用して目覚まし時計の画面を起動する方法は?

+0

私はこれと似たようなことをしています! http://stackoverflow.com/questions/13523350/android-alarm-clock-ui – toobsco42

+0

http://stackoverflow.com/questions/13523350/android-alarm-clock-ui –

答えて

-1

Package AppManagerを使用してAlarm App Intentを見つけることができます。

hereを参照してください。

com.android.alarm.permission.SET_ALARM

を参照してください:あなたはまた、次のアクセス許可を使用する必要が

Intent i = new Intent(AlarmClock.ACTION_SET_ALARM); 
i.putExtra(AlarmClock.EXTRA_MESSAGE, "New Alarm"); 
i.putExtra(AlarmClock.EXTRA_HOUR, 10); 
i.putExtra(AlarmClock.EXTRA_MINUTES, 30); 
startActivity(i); 

5

次のコードは、はAlarmClock活動を開始しますAndroidのドキュメントhere

+0

を参照してください。確かに、あなたは私の一日を保存しました。ありがとうございました :) –

2

インテントを作成する必要があります。アンドロイドの時計とアラームの意図として

ない明確に事前に定義されたが、私はそれを行うには、次のスニペットコードを使用:このように

PackageManager packageManager = context.getPackageManager(); 
Intent alarmClockIntent = new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_LAUNCHER); 

// Verify clock implementation 
String clockImpls[][] = { 
     {"HTC Alarm Clock", "com.htc.android.worldclock", "com.htc.android.worldclock.WorldClockTabControl" }, 
     {"Standar Alarm Clock", "com.android.deskclock", "com.android.deskclock.AlarmClock"}, 
     {"Froyo Nexus Alarm Clock", "com.google.android.deskclock", "com.android.deskclock.DeskClock"}, 
     {"Moto Blur Alarm Clock", "com.motorola.blur.alarmclock", "com.motorola.blur.alarmclock.AlarmClock"}, 
     {"Samsung Galaxy Clock", "com.sec.android.app.clockpackage","com.sec.android.app.clockpackage.ClockPackage"} , 
     {"Sony Ericsson Xperia Z", "com.sonyericsson.organizer", "com.sonyericsson.organizer.Organizer_WorldClock" }, 
     {"ASUS Tablets", "com.asus.deskclock", "com.asus.deskclock.DeskClock"} 

}; 

boolean foundClockImpl = false; 

for(int i=0; i<clockImpls.length; i++) { 
    String vendor = clockImpls[i][0]; 
    String packageName = clockImpls[i][1]; 
    String className = clockImpls[i][2]; 
    try { 
     ComponentName cn = new ComponentName(packageName, className); 
     ActivityInfo aInfo = packageManager.getActivityInfo(cn, PackageManager.GET_META_DATA); 
     alarmClockIntent.setComponent(cn); 
     debug("Found " + vendor + " --> " + packageName + "/" + className); 
     foundClockImpl = true; 
    } catch (NameNotFoundException e) { 
     debug(vendor + " does not exists"); 
    } 
} 

if (foundClockImpl) { 
    PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, alarmClockIntent, 0); 
     // add pending intent to your component 
     // .... 
} 

、私はデフォルトのクロックやアラームマネージャを実行することができます。 frussoに ありがとうございます。