毕加索有时不会下载照片并使我的应用程序崩溃

时间:2015-06-20 23:32:53

标签: android picasso airplane

refs

当我尝试使用Picasso下载照片时,我的应用程序崩溃没有访问onSuccess,onError函数!我在我的logcat

中有这个
  

(W /设置:设置airplane_mode_on已从android.provider.Settings.System移至android.provider.Settings.Global,返回只读值。)

我搜索了它,发现我应该导入:

Picasso.with(getActivity().getApplicationContext()).load(imageString).resize(250, 250)
    .into(image, new Callback() {
        @Override
        public void onSuccess() {
            Log.e("profilepicsucess", "");
        }

        @Override
        public void onError() {
            Log.e("profilepicfalse :3", "");
        }
});

并编写此函数

import static android.provider.Settings.System.AIRPLANE_MODE_ON;

实际上我不知道在哪里写它**

1 个答案:

答案 0 :(得分:0)

您收到警告的原因是因为从Jelly Bean 4.2起,飞机模式设置已移至Settings.Global

使用此功能检查飞机模式:

/**
 * Gets the state of Airplane Mode.
 * 
 * @param context
 * @return true if enabled.
 */
@SuppressWarnings("deprecation")
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
public static boolean isAirplaneModeOn(Context context) {        
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR1) {
        return Settings.System.getInt(context.getContentResolver(), 
                Settings.System.AIRPLANE_MODE_ON, 0) != 0;          
    } else {
        return Settings.Global.getInt(context.getContentResolver(), 
                Settings.Global.AIRPLANE_MODE_ON, 0) != 0;
    }       
}

但是,我需要更多细节来协助崩溃。

这是如何使用这个功能:

if(!isAirplaneModeOn(getActivity().getApplicationContext()){   
    //Picasso Code
    Picasso.with(getActivity().getApplicationContext()).load(imageString).resize(250, 250)
        .into(image, new Callback() {
            @Override
            public void onSuccess() {
                Log.e("profilepicsucess", "");
            }

            @Override
            public void onError() {
                Log.e("profilepicfalse :3", "");
            }
    });
}else{
    //do something else?
}