我有一个在Emulator上运行良好的android应用程序。但是当我在设备上尝试它时,它显示出一些问题,例如“无法执行at处的活动方法”。下面是logcat报告。
FATAL EXCEPTION: main
java.lang.IllegalStateException: Could not execute method of the activity
at android.view.View$1.onClick(View.java:3640)
at android.view.View.performClick(View.java:4249)
at android.view.View$PerformClick.run(View.java:17764)
at android.os.Handler.handleCallback(Handler.java:730)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
Caused by: java.lang.NoSuchMethodError: android.app.AlarmManager.setExact
at com.example.manju.remainder.service.task.AlarmTask.run(AlarmTask.java:49)
at com.example.manju.remainder.service.ScheduleService.setAlarm(ScheduleService.java:50)
at com.example.manju.remainder.service.ScheduleClient.setAlarmForNotification(ScheduleClient.java:55)
at com.example.manju.remainder.MainActivity.callAlarm(MainActivity.java:507)
at com.example.manju.remainder.MainActivity.checkDates(MainActivity.java:474)
at com.example.manju.remainder.MainActivity.submitButtonClicked(MainActivity.java:160)
谁能帮我这个忙..
最佳答案
尝试这个:
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {
// only for kitkat and newer versions
android.app.AlarmManager.setExact(int type, long triggerAtMillis, PendingIntent operation);
} else {
android.app.AlarmManager.set(int type, long triggerAtMillis, PendingIntent operation);
}
基本上,
.setExact(...);
方法需要API 19及更高版本(这是绕过android提供的优化以最大化电池寿命的一种方式)。关于android - Android App无法在设备上运行,而在模拟器上可以正常运行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30967002/