在我的应用程序中,我想使用我的应用程序添加警报。所以我想直接从我的应用程序启动手机的添加报警屏幕。那么如何使用Intent来启动它?如何在Android中使用Intent启动闹钟屏幕?
3
A
回答
-1
你可以通过PackageManager找到Alarm App Intent。
参见here。
5
下面的代码开头的AlarmClock的活动:
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);
您还需要使用以下权限:
com.android.alarm.permission.SET_ALARM
见Android文档here。
+0
当然,你救了我的一天。谢谢 :) – 2016-12-07 23:57:39
2
你应该制定一个意图。
正如在Android上的时钟和闹钟的意图没有明确的预定义的,我用下面的代码片段来做到这一点:
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。
相关问题
- 1. 启动Android闹钟启动
- 2. Android闹钟立即启动
- 3. Android闹钟启动新的活动并重置闹钟
- 4. 闹钟中的屏幕解锁
- 5. 如何使手机的屏幕在锁定时显示闹钟
- 6. 在Android中启动屏幕
- 7. 使用android闹钟
- 8. 如何在禁用用户屏幕时启动启动屏幕
- 9. 如何使用android闹钟管理器设置多个闹钟
- 10. 如何在android中使用闹钟管理器调用过去的闹钟?
- 11. 使用闹钟管理器在Android中设置闹钟
- 12. 如何使用intent启动视频android
- 13. 如何在android中安排重复闹钟和一次闹钟
- 14. 创建闹钟闹钟Android
- 15. 如何在android中使用闹钟管理器设置星期一闹钟?
- 16. 如何在Android手机启动时设置闹钟?
- 17. 启动Xperia Z闹钟
- 18. 如何在电话重新启动后重新启动闹钟?
- 19. 第一时间自动启动闹钟设置闹钟
- 20. 安卓闹钟无法启动闹钟活动
- 21. android启动闹钟服务与移动时钟时间
- 22. 如何在android java中设置闹钟
- 23. 如何在Android中设置闹钟?
- 24. 如何在android中取消闹钟?
- 25. Android:如何在AppWidgetProvider中创建闹钟
- 26. 如何在Android中重复闹钟?
- 27. 如何在android中激活闹钟?
- 28. 如何在Android上通过另一个屏幕上的操作关闭闹钟?
- 29. Android闹钟时钟
- 30. 当闹钟在自定义闹钟应用程序中关闭时启动自定义活动Android
我在做类似的事情! http://stackoverflow.com/questions/13523350/android-alarm-clock-ui – toobsco42 2012-11-23 07:18:46
看到http://stackoverflow.com/questions/13523350/android-alarm-clock-ui – 2016-04-29 16:24:13