次のコードを使用して、ユーザーのギャラリーから画面の表示幅/高さに一致するトリミングされた画像を選択しています (フルスクリーン アクティビティの背景として設定できるようにするため)。
int PHOTO_WIDTH = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getWidth();
int PHOTO_HEIGHT = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getHeight();
Intent intent = new Intent(Intent.ACTION_PICK, null);
intent.setType("image/*");
intent.putExtra("crop", "true");
intent.putExtra("outputX", PHOTO_WIDTH);
intent.putExtra("outputY", PHOTO_HEIGHT);
これは一部のデバイスでは機能しますが、他のデバイスでは機能しません (xhpdi 密度が同じであっても)。
現在の画面比率 (ステータス バーを含み、ソフトキー ボタンの行を除く) を取得し、それを PICK インテントに設定するにはどうすればよいですか?