comment définir l'image de sortie utiliser com.android.de la caméra.d'action.CULTURE

J'ai le code pour rogner une image, comme ceci :

public void doCrop(){
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setType("image/");
List<ResolveInfo> list = getPackageManager().queryIntentActivities(intent,0);
int size = list.size();
if (size == 0 ){
   Toast.makeText(this, "Cant find crop app").show();
   return;
} else{
   intent.setData(selectImageUri);
   intent.putExtra("outputX", 300);
   intent.putExtra("outputY", 300);
   intent.putExtra("aspectX", 1);
   intent.putExtra("aspectY", 1);
   intent.putExtra("scale", true);
   intent.putExtra("return-data", true);
   if (size == 1) {
       Intent i = new Intent(intent);
       ResolveInfo res = list.get(0);
       i.setComponent(new ComponentName(res.activityInfo.packageName, res.activityInfo.name));
       startActivityForResult(i, CROP_RESULT);
   }
}
}

public void onActivityResult (int requestCode, int resultCode, Intent dara){
   if (resultCode == RESULT_OK){
      if (requestCode == CROP_RESULT){
          Bundle extras = data.getExtras();
          if (extras != null){
              bmp = extras.getParcelable("data");
          }
          File f = new File(selectImageUri.getPath());
          if (f.exists()) f.delete();
          Intent inten3 = new Intent(this, tabActivity.class);
          startActivity(inten3);
      }
   }
}

de ce que j'ai lu, le code intent.putExtra("outputX", 300); intent.putExtra("outputY", 300); est utilisée pour définir la résolution de la culture de résultat, mais pourquoi je ne peux pas obtenir le résultat de la résolution de l'image higer que 300x300? lorsque j'ai mis le intent.putExtra("outputX", 800); intent.putExtra("outputY", 800); la fonction de recadrage a pas de résultat ou de crash, de toute idée de cette situation?

le journal de chat dire "! ! ! MANQUÉ DE LIANT TRANSACTION ! ! !

juste une remarque: if (size==1) sera paralyser votre application si plus d'une application qui offre la RÉCOLTE d'action est installé. J'aimerais sauter cette partie si j'étais vous. Aussi, pensez à utiliser le Intent#createChooser(..) méthode au lieu de départ de la première composante, il pourrait ne pas être l'application préférée de l'utilisateur.
hahaha ouais j'ai dû modifier mon code et passer le if (taille==1)

OriginalL'auteur adi.zean | 2012-10-06