是否可以使用Android Alarm Manager在特定时间触发特定任务?
我得到的日志:
03-13 22:18:20.219: E/AndroidRuntime(1140): FATAL EXCEPTION: main
03-13 22:18:20.219: E/AndroidRuntime(1140): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.timeevent/com.example.timeevent.MainActivity}: java.lang.ClassNotFoundException: com.example.timeevent.MainActivity
03-13 22:18:20.219: E/AndroidRuntime(1140): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1880)
03-13 22:18:20.219: E/AndroidRuntime(1140): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
03-13 22:18:20.219: E/AndroidRuntime(1140): at android.app.ActivityThread.access$600(ActivityThread.java:123)
03-13 22:18:20.219: E/AndroidRuntime(1140): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
03-13 22:18:20.219: E/AndroidRuntime(1140): at android.os.Handler.dispatchMessage(Handler.java:99)
03-13 22:18:20.219: E/AndroidRuntime(1140): at android.os.Looper.loop(Looper.java:137)
03-13 22:18:20.219: E/AndroidRuntime(1140): at android.app.ActivityThread.main(ActivityThread.java:4424)
03-13 22:18:20.219: E/AndroidRuntime(1140): at java.lang.reflect.Method.invokeNative(Native Method)
03-13 22:18:20.219: E/AndroidRuntime(1140): at java.lang.reflect.Method.invoke(Method.java:511)
03-13 22:18:20.219: E/AndroidRuntime(1140): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
03-13 22:18:20.219: E/AndroidRuntime(1140): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
03-13 22:18:20.219: E/AndroidRuntime(1140): at dalvik.system.NativeStart.main(Native Method)
03-13 22:18:20.219: E/AndroidRuntime(1140): Caused by: java.lang.ClassNotFoundException: com.example.timeevent.MainActivity
03-13 22:18:20.219: E/AndroidRuntime(1140): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
03-13 22:18:20.219: E/AndroidRuntime(1140): at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
03-13 22:18:20.219: E/AndroidRuntime(1140): at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
03-13 22:18:20.219: E/AndroidRuntime(1140): at android.app.Instrumentation.newActivity(Instrumentation.java:1023)
03-13 22:18:20.219: E/AndroidRuntime(1140): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1871)
03-13 22:18:20.219: E/AndroidRuntime(1140): ... 11 more
答案 0 :(得分:0)
当然可以看一下这个相当直接的教程:http://www.techrepublic.com/blog/software-engineer/use-androids-alarmmanager-to-schedule-an-event/
答案 1 :(得分:0)
是的,有可能。
虽然,AlarmManager本身并不是在特定时间执行特定任务,而是警报的接收器。
在实现了AlarmManager之后,它会在特定时间发送意图,您必须实现一个警报接收器,它扩展了类BroadcastReceiver并执行所需任务的代码。
有关如何设置闹钟的更多信息,请阅读Android开发者网站上scheduling repeating alarms上的教程。
编辑:您的日志显示:未找到活动com.example.timeevent.MainActivity
。你重命名了吗?另外,请不要忘记在AppManifest中注册您的活动作为接收者。