Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android SDK级别检查的问题_Android_Sdk_Logcat - Fatal编程技术网

Android SDK级别检查的问题

Android SDK级别检查的问题,android,sdk,logcat,Android,Sdk,Logcat,我正在4.4.2设备上运行测试,出现了奇怪的日志,验证应防止出现这种情况: 日志: I/dalvikvm: Could not find method android.app.AlarmManager.setAndAllowWhileIdle, referenced from method initTimer I/dalvikvm: Could not find method requestPermissions, referenced from method MyActivity.reque

我正在4.4.2设备上运行测试,出现了奇怪的日志,验证应防止出现这种情况:

日志:

I/dalvikvm: Could not find method android.app.AlarmManager.setAndAllowWhileIdle, referenced from method initTimer

I/dalvikvm: Could not find method requestPermissions, referenced from method MyActivity.requestPermissions
方法类:

void requestPermissions() {

        List<String> permissionsNeeded = new ArrayList<>();

        final List<String> permissionsList = new ArrayList<>();

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            //verify permission

            return;
        }
        //normal flow

}



void initTimerGetRegions(Context context) { 

    AlarmManager processTimer = Memory.getInstance().getTimer(context);
    Intent intentAlarm = new Intent(context, TimerReceiver.class);
    PendingIntent pendingIntentAlarm = PendingIntent.getBroadcast(context, 1,
            intentAlarm, PendingIntent.FLAG_UPDATE_CURRENT);

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        processTimer.setAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + 1000, pendingIntentAlarm);
    } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        processTimer.setExact(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + 1000, pendingIntentAlarm);
    } else {
        processTimer.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + 1000, pendingIntentAlarm);
    }


}   
void requestPermissions(){
List permissions need=new ArrayList();
最终列表权限列表=新的ArrayList();
if(Build.VERSION.SDK\u INT>=Build.VERSION\u code.M){
//验证权限
返回;
}
//正常流量
}
void initTimerGetRegions(上下文上下文){
AlarmManager processTimer=Memory.getInstance().getTimer(上下文);
Intent intentAlarm=新的Intent(上下文,TimerReceiver.class);
PendingEvent PendingEventAlarm=PendingEvent.getBroadcast(上下文,1,
intentAlarm、PENDINGENT.FLAG_UPDATE_CURRENT);
if(Build.VERSION.SDK\u INT>=Build.VERSION\u code.M){
processTimer.SetAndAllowHileId(AlarmManager.RTC_WAKEUP,System.currentTimeMillis()+1000,PendingEventAlarm);
}else if(Build.VERSION.SDK\u INT>=Build.VERSION\u code.KITKAT){
processTimer.setExact(AlarmManager.RTC_唤醒,System.currentTimeMillis()+1000,PendingEndAlarm);
}否则{
processTimer.set(AlarmManager.RTC_唤醒,System.currentTimeMillis()+1000,PendingEndAlarm);
}
}   
显然,代码正在更高版本上运行,但较低版本正在抓取这些日志

奇怪的日志正在出现

他们完全正常

核查应防止这种情况

没有

这些是来自Dalvik VM的消息,表明在类中加载时,很难找到某些方法。这是因为这些方法仅在较新版本的Android上可用


但是,关键是日志行的第一个字母:
I
。这是一条信息性消息。这不是一个错误。只要您不尝试执行任何缺少的方法,一切都很好。

哦,好的!谢谢你的回答!