Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.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 无法使用graph api Facebook sdk 4.0获取配置文件pic_Android_Facebook - Fatal编程技术网

Android 无法使用graph api Facebook sdk 4.0获取配置文件pic

Android 无法使用graph api Facebook sdk 4.0获取配置文件pic,android,facebook,Android,Facebook,我无法使用获取图像 Bitmap bitmap = getBitmapFromURL("https://graph.facebook.com/100001220051873/picture"); if(bitmap!=null) imageView.setImageBitmap(bitmap); else Toast.makeText(getActivity(),"null it is",T

我无法使用获取图像

 Bitmap bitmap = getBitmapFromURL("https://graph.facebook.com/100001220051873/picture");
            if(bitmap!=null)
            imageView.setImageBitmap(bitmap);
            else
                Toast.makeText(getActivity(),"null it is",Toast.LENGTH_SHORT).show();
getBitmapFromURL所在的位置

public static Bitmap getBitmapFromURL(String src) {
        try {
            URL url = new URL(src);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setDoInput(true);
            connection.connect();
            InputStream input = connection.getInputStream();
            Bitmap myBitmap = BitmapFactory.decodeStream(input);
            return myBitmap;
        } catch (IOException e) {
            e.printStackTrace();
            return null;
        }
    }
但是,当我使用下面的一切都很好

        StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
        StrictMode.setThreadPolicy(policy);
但我在那里读到,这个策略使用起来不安全,不仅如此,它还阻塞了我的主UI几秒钟


首先,我想知道,为什么我在没有使用上述策略的情况下无法获取facebook个人资料图片,是否有任何方法可以避免上述策略,并可能获取我的个人资料图片?提前感谢:)

以下是工作代码:

GraphRequest request = GraphRequest.newMeRequest(
            accessToken,
            new GraphRequest.GraphJSONObjectCallback() {
                @Override
                public void onCompleted(
                        JSONObject object,
                        GraphResponse response) {
                    // Application code
                    Log.d("response","response"+object.toString());
                    Intent intent=new Intent(MainActivity.this, ProfilePictureActivity.class);
                    try {
                        intent.putExtra("pic_url",object.getJSONObject("picture").getJSONObject("data").getString("url"));

                        startActivity(intent);
                        finish();
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
            });
    Bundle parameters = new Bundle();
    parameters.putString("fields", "id,name,email,gender,birthday,picture.width(300)");
    request.setParameters(parameters);
    request.executeAsync();

以下是工作代码:

GraphRequest request = GraphRequest.newMeRequest(
            accessToken,
            new GraphRequest.GraphJSONObjectCallback() {
                @Override
                public void onCompleted(
                        JSONObject object,
                        GraphResponse response) {
                    // Application code
                    Log.d("response","response"+object.toString());
                    Intent intent=new Intent(MainActivity.this, ProfilePictureActivity.class);
                    try {
                        intent.putExtra("pic_url",object.getJSONObject("picture").getJSONObject("data").getString("url"));

                        startActivity(intent);
                        finish();
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
            });
    Bundle parameters = new Bundle();
    parameters.putString("fields", "id,name,email,gender,birthday,picture.width(300)");
    request.setParameters(parameters);
    request.executeAsync();