Guest User

Untitled

a guest
Sep 20th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.92 KB | None | 0 0
  1. public class AddArticle extends AppCompatActivity {
  2. private static final int COD_FOTO = 20;
  3.  
  4. private static final String CARPETA_PRINCIPAL = "Hipack/";
  5. private static final String CARPETA_IMAGEN = "HipackImages";
  6. private static final String DIRECTORIO_IMAGEN = CARPETA_PRINCIPAL + CARPETA_IMAGEN;
  7. private String path;
  8. File fileImagen;
  9. Bitmap bitmap;
  10.  
  11. private ImageView imgProducto;
  12.  
  13. @Override
  14. protected void onCreate(Bundle savedInstanceState) {
  15. super.onCreate(savedInstanceState);
  16. setContentView(R.layout.activity_add_article);
  17. setTitle("Agregar Artículo");
  18.  
  19. imgProducto = (ImageView)findViewById(R.id.imageProductoAddA);
  20. }
  21.  
  22.  
  23. public void tomarFoto(View vista){
  24. File miFile = new File(Environment.getExternalStorageDirectory(), DIRECTORIO_IMAGEN);
  25. boolean isCreada = miFile.exists();
  26. String nombreImagen = "";
  27.  
  28. if (!isCreada){
  29. isCreada = miFile.mkdirs();
  30. } if (isCreada){
  31. nombreImagen = (System.currentTimeMillis()/1000) + ".jpg";
  32. }
  33.  
  34. fileImagen = new File(Environment.getExternalStorageDirectory(), nombreImagen + ".jpg");
  35.  
  36. Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
  37. intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(fileImagen)); // Aqui me da el error
  38. startActivityForResult(intent, COD_FOTO);
  39. }
  40.  
  41. @Override
  42. protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  43. super.onActivityResult(requestCode, resultCode, data);
  44. switch (requestCode){
  45. case COD_FOTO:
  46. MediaScannerConnection.scanFile(this, new String[]{path}, null,
  47. new MediaScannerConnection.OnScanCompletedListener() {
  48. @Override
  49. public void onScanCompleted(String path, Uri uri) {
  50. Log.i("Ruta de almacenamiento", "Path: "+path);
  51. }
  52. });
  53. bitmap = BitmapFactory.decodeFile(path);
  54. imgProducto.setImageBitmap(bitmap);
  55. break;
  56. }
  57. }
  58. }
  59.  
  60. E/AndroidRuntime: FATAL EXCEPTION: main
  61. Process: com.example.humberto.hipackpro2, PID: 31387
  62. java.lang.IllegalStateException: Could not execute method for android:onClick
  63. at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:389)
  64. at android.view.View.performClick(View.java:6305)
  65. at android.view.View$PerformClick.run(View.java:24840)
  66. at android.os.Handler.handleCallback(Handler.java:790)
  67. at android.os.Handler.dispatchMessage(Handler.java:99)
  68. at android.os.Looper.loop(Looper.java:164)
  69. at android.app.ActivityThread.main(ActivityThread.java:6501)
  70. at java.lang.reflect.Method.invoke(Native Method)
  71. at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
  72. at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
  73. Caused by: java.lang.reflect.InvocationTargetException
  74. at java.lang.reflect.Method.invoke(Native Method)
  75. at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:384)
  76. at android.view.View.performClick(View.java:6305) 
  77. at android.view.View$PerformClick.run(View.java:24840) 
  78. at android.os.Handler.handleCallback(Handler.java:790) 
  79. at android.os.Handler.dispatchMessage(Handler.java:99) 
  80. at android.os.Looper.loop(Looper.java:164) 
  81. at android.app.ActivityThread.main(ActivityThread.java:6501) 
  82. at java.lang.reflect.Method.invoke(Native Method) 
  83. at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) 
  84. at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807) 
  85. Caused by: android.os.FileUriExposedException: file:///storage/emulated/0/1537456175.jpg.jpg exposed beyond app through ClipData.Item.getUri()
  86. at android.os.StrictMode.onFileUriExposed(StrictMode.java:1962)
  87. at android.net.Uri.checkFileUriExposed(Uri.java:2356)
  88. at android.content.ClipData.prepareToLeaveProcess(ClipData.java:942)
  89. at android.content.Intent.prepareToLeaveProcess(Intent.java:9850)
  90. at android.content.Intent.prepareToLeaveProcess(Intent.java:9835)
  91. at android.app.Instrumentation.execStartActivity(Instrumentation.java:1612)
  92. at android.app.Activity.startActivityForResult(Activity.java:4514)
  93. at android.support.v4.app.BaseFragmentActivityApi16.startActivityForResult(BaseFragmentActivityApi16.java:54)
  94. at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:68)
  95. at android.app.Activity.startActivityForResult(Activity.java:4472)
  96. at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:751)
  97. at com.example.humberto.hipackpro2.AddArticle.tomarFoto(AddArticle.java:206) //Aqui me manda a la línea del código
  98. at java.lang.reflect.Method.invoke(Native Method) 
  99. at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:384) 
  100. at android.view.View.performClick(View.java:6305) 
  101. at android.view.View$PerformClick.run(View.java:24840) 
  102. at android.os.Handler.handleCallback(Handler.java:790) 
  103. at android.os.Handler.dispatchMessage(Handler.java:99) 
  104. at android.os.Looper.loop(Looper.java:164) 
  105. at android.app.ActivityThread.main(ActivityThread.java:6501) 
  106. at java.lang.reflect.Method.invoke(Native Method) 
  107. at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) 
  108. at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807) 
  109.  
  110. @Override
  111. protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  112.  
  113. super.onActivityResult(requestCode, resultCode, data);
  114.  
  115. switch (requestCode) {
  116. case COD_FOTO:
  117. if (resultCode == RESULT_OK) {
  118.  
  119. Uri uri = data.getData();
  120. String[] projection = {MediaStore.Images.Media.DATA};
  121. Cursor cursor = getContentResolver().query(uri, projection, null, null, null);
  122. cursor.moveToFirst();
  123. int columnIndex = cursor.getColumnIndex(projection[0]);
  124. String filepath = cursor.getString(columnIndex);
  125. cursor.close();
  126.  
  127. bitmap = BitmapFactory.decodeFile(filepath);
  128. imgProducto.setImageBitmap(bitmap);
  129. }
  130. break;
  131. default:
  132. break;
  133. }
  134. }
Add Comment
Please, Sign In to add comment