Acabo de ver el problema
tiene que ser
B4X:Intent1.ACTION_SEND
y no
B4X:Intent1.ACTION_VIEW
** Service (starter) Create **
** Service (starter) Start **
** Activity (main) Create, isFirst = true **
** Activity (main) Resume **
main_boton1_click (java line: 368)
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=file:// /storage/emulated/0/prueba1.csv typ=application/csv flg=0x20000 }
at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1878)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1545)
at android.app.Activity.startActivityForResult(Activity.java:4283)
at android.app.Activity.startActivityForResult(Activity.java:4230)
at android.app.Activity.startActivity(Activity.java:4567)
at android.app.Activity.startActivity(Activity.java:4535)
at anywheresoftware.b4a.keywords.Common.StartActivity(Common.java:698)
at bgs.pruebasparapablo.main._boton1_click(main.java:368)
at java.lang.reflect.Method.invoke(Native Method)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:169)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:157)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:153)
at anywheresoftware.b4a.objects.ViewWrapper$1.onClick(ViewWrapper.java:78)
at android.view.View.performClick(View.java:5702)
at android.widget.TextView.performClick(TextView.java:10888)
at android.view.View$PerformClick.run(View.java:22541)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7229)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Amigo Jesus... la fuerza no ha estado contigo esta vez.... jejeje.
el código que me has enviado no estaba bendecido por el Señor !!
Reconócelo man, La Fuerza no ha estado contigo esta vez.
Archivo=MySQL.Tabla & ".csv"
g.SaveTableToCSV(File.DirDefaultExternal,Archivo)
Intent1.Initialize(Intent1.ACTION_VIEW, "file://" & File.DirDefaultExternal & "/" & Archivo)
Intent1.SetType("application/csv")
StartActivity(Intent1)
No me he enojado, simplemente no me gusta que me culpen de cosas cuando yo digo una cosa y tu otra, y sigues diciendola, tu no copiaste en un proyecto nuevo mi codigo, la prueba es que metiste tu generación de fichero, y con esta es la enesima vez que te digo que para saber si te funcionaba esa instrucción era copiar el fichero de forma manual al raiz, y eso no lo has echo, y encima me dices que me equivoqué en el código, perdoname, pero aqui el que se equivocó fuiste tu que copiaste mal despues de repetirtelo mil veces.Creo que te estas enojando innecesariamente.. todo fue en clave de humor, y te lo has tomado al churrete.
Lo del delay no lo sabia.. y no se porque dices que NO HE PROBADO LO QUE ME HAS DADO..
Te dije que he creado un proyecto nuevo, vació y puse tu código y no anduvo..
No es una cuestion de ejecuciones asincronas, es de sentido comun, si en una instrucción salvas y en la siguiente lo quieres ver y te da error, lo normal es pensar que no puede salvarlo en un "ya", por eso te he insistido en que lo copiaras a mano y ejecutaras mi código, pero ya ves, te he tenido que dar la solución y aun no quisiste probarlo, tan dificil era aceptar que habias puesto una linea que no era la que te dije y que si la hubieras puesto nos hubiesemos librado todos de esta perdida de tiempo incecesaria? Sin embargo apostaste por decir que mi código no iba, y eso es lo que no me ha gustado, que hagas un codigo tuyo y aun me eches las culpas de que no va, que si eso es asi, que esta vez la fuerza no te acompañó, etc, etc.Pero ese no es un problema mio, es decir... como voy a pensar que todo funciona ASINCRONO en Android ?
No, no lo has echo, y por mas que insista en que lo has echo como yo te dije, las pruebas estan arriba con tu generación de fichero, creo que no te lo escribí asi, y no probaste de meter el fichero a mano, por que con eso hubieses visto que funcionaba y te hubieses dado cuenta al momento de donde estaba la diferencia de codigo. Te diré lo que estos dias le dicen al presidente del gobierno en funciones de aqui, una mentira por mucho que la repitas no pasa a ser verdad.Como te digo.. no tienes que enojarte conmigo, porque he hecho cuanto tu has dicho..
Hay gente aqui que lleva mucho menos tiempo programando y nos dan tres vueltas en programación, a ti con 30 años y a mi con muchos mas de 30. Los años de programación a veces solo sirven para ser mas viejos, no mas sabios.a=1
b=2
c=a+b
NO LO CORRAS ASÍ !! PORQUE CUANDO SUMAS "a" + "b" aun estos no han recibido los valores.. hay que darles tiempo..
Es ridículo.. y disculpa, no es tu culpa..
Pero entiende de que por 30 años he programado de manera lógica... si hay 5 instrucciones , una debajo de la otra... cuando llega a la 5ta, asumo que las 4 anteriores ya fueron ejecutadas y si hay una falla , para eso esta el TRY CATCH
Msgbox("File Created in "&File.DirRootExternal&"/SqlResult.csv","Done")
Intent1.Initialize(Intent1.ACTION_SEND, "file://" & File.Combine(File.DirRootExternal,"SqlResult.csv"))
Intent1.SetType("application/csv")
StartActivity(Intent1)
SMTP1.AddAttachment(FicheroAdjuntoDir,FicheroAdjuntoNombre)
Hola Pablo
Ese intent solo abre una ventana de aplicaciones con las que poder verlo, no se que código tienes antes de todo eso para enviar el email y el fichero adjunto, tienes que decirle al envio de email la carpeta y el nombre del archivo, que no se si lo haces, quizas antes de darle la opción al usuario de ver el archivo tendrias que poner los valores al envio de email al fichero adjunto:
B4X:SMTP1.AddAttachment(FicheroAdjuntoDir,FicheroAdjuntoNombre)
No conozco tu codigo, pero yo lo que haria seria en la ventana donde le das para que vea el fichero, un botón de enviar, y ahi pones todos los parámetros de envio incluido el fichero adjunto, asi aseguras el envio. Una vez que el usuario haya visto el fichero y salido de verlo, volverá a esa ventana y podrá darle a ese boton de enviar.
Saludos
Como hago para que si el usuario DECIDE enviar por Email tenga ya los seteos y si quiere enviarlo por WhatsApp tenga los suyos también ?
Dim Intent1 As Intent
Intent1.Initialize(Intent1.ACTION_SEND, "")
Intent1.SetType("*/*")
Dim jo As JavaObject = Intent1
Dim uri1 As Uri ' Pon la libreria ContentResolver
uri1.Parse("file://" & File.Combine(File.DirRootExternal,"prueba.csv" )) ' cambialo por tu linea de generar el fichero, lo he puesto asi para que se entienda mejor
jo.RunMethod("putExtra", Array("android.intent.extra.STREAM", uri1))
StartActivity(Intent1)
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?