servicio que puedo porque por mensajes mensaje los evitar esta envio enviar descargar cómo conviertan como claro celular automáticamente admitido activar activado android mms

que - Guardar/Crear MMS en la bandeja de entrada de Android



no puedo enviar mensajes multimedia claro (3)

El cuerpo del MMS se almacena en el content://mms/part/ . Vea este código para saber cómo leerlo, pero recuerde que todo esto no está documentado, no tiene soporte y es probable que cambie sin previo aviso.

Estoy trabajando en una aplicación que necesita poder guardar / crear un nuevo MMS en la bandeja de entrada o en las carpetas enviadas, pero no puedo encontrar el camino.

Probé el siguiente código pero me dio la excepción:

ContentValues values = new ContentValues(); values.put("address", "xxxxxxxxxxx"); values.put("body", "body 3"); values.put("read", "0"); getContentResolver().insert(Uri.parse("content://mms/inbox"), values);

Y la excepción es:

ERROR/Database(118): Error inserting read=0 body=body 3 msg_box=1 date=1306153444 address=xxxxxxxxxxx ERROR/Database(118): android.database.sqlite.SQLiteException: table pdu has no column named body: , while compiling: INSERT INTO pdu(read, body, msg_box, date, address) VALUES(?, ?, ?, ?, ?); ERROR/Database(118): at android.database.sqlite.SQLiteCompiledSql.native_compile(Native Method) ERROR/Database(118): at android.database.sqlite.SQLiteCompiledSql.compile(SQLiteCompiledSql.java:91) ERROR/Database(118): at android.database.sqlite.SQLiteCompiledSql.<init>(SQLiteCompiledSql.java:64) ERROR/Database(118): at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:80) ERROR/Database(118): at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:36) ERROR/Database(118): at android.database.sqlite.SQLiteDatabase.compileStatement(SQLiteDatabase.java:1145) ERROR/Database(118): at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1536) ERROR/Database(118): at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1410) ERROR/Database(118): at com.android.providers.telephony.MmsProvider.insert(MmsProvider.java:347) ERROR/Database(118): at android.content.ContentProvider$Transport.insert(ContentProvider.java:174) ERROR/Database(118): at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:146) ERROR/Database(118): at android.os.Binder.execTransact(Binder.java:288) ERROR/Database(118): at dalvik.system.NativeStart.run(Native Method) ERROR/MmsProvider(118): MmsProvider.insert: failed! read=0 body=body 3 msg_box=1 date=1306153444 address=xxxxxxxxxxx

UDPATE: se eliminó la excepción al eliminar la línea: values.put("body","body 3") Pero no puedo ver ningún mms en los mensajes.


Estaba teniendo el mismo problema. Sin embargo, he creado y restaurado con éxito un MMS. Es básicamente la manipulación inversa de la base de datos. Espero que puedas obtener un MMS de la base de datos, ¿verdad? Solo necesita volver a colocar los valores apropiados en las tablas de la base de datos. Puede obtener información sobre las tablas de la base de datos en mmssms.db. Una vez que entiendes mmssms.db, es muy fácil insertar un MMS.


primero mientras crea una pantalla que desea utilizar como pantalla mms. luego, después de completar el proceso, intente esto bajo el código para enviar ese mms a la otra persona a quien desee. Aquí primero declara un botón btn_email en su proyecto.

btn_email = (Button) findViewById (R.id.btn_email);

luego escriba el evento de clic en este botón que podrá ayudar a enviar el mms a otra persona.

enviar código mms:

btn_email.setOnClickListener (new View.OnClickListener () {@Override public void onClick (View v) {// TODO Método de código generado automáticamente System.out.println ("el botón de correo electrónico está presionado ..");

Intent sendIntent = new Intent(Intent.ACTION_SEND); //Mime type of the attachment (or) u can use sendIntent.setType("*/*") sendIntent.setType("image/jpeg"); //Subject for the message or Email sendIntent.putExtra(Intent.EXTRA_SUBJECT, "My Picture"); //Full Path to the attachment sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://mnt/"+mUrl)); //Use a chooser to decide whether email or mms startActivity(Intent.createChooser(sendIntent, "Email:")); } });

Aquí está el código que enviará el mms a otra persona desde su ruta de sdcard. Este código que utiliza el código de intención es la pantalla de envío de correo electrónico predeterminada de Android que se utilizará.

de esta manera usted puede enviar el mms a otra persona.

Ahora, para guardar la cantidad de partículas que ha enviado a esa otra persona, a medida que desarrolla la pantalla que ha creado, simplemente capture toda la pantalla ... y guárdela en una tarjeta SD como ...

p.ej:

btn_save = (Botón) findViewById (R.id.btn_save);

btn_save.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub System.out.println("the save button is just pressed.."); saveImageToSD(); Toast.makeText(Create_Screen_Birthday.this,"Image successfully saved",Toast.LENGTH_LONG).show(); } });

void protegido saveImageToSD () {// TODO Generador de método generado automáticamente

System.out.println("NOW you are on the saveimage to sd card method called block.."); try { //String fileName = "myBitmapImage2.png"; int Current_Hour,Current_Minute,Current_Second; RelativeLayout settext_relative; settext_relative = (RelativeLayout)findViewById(R.id.settext_relative); final Calendar c = Calendar.getInstance(); Current_Hour = c.get(Calendar.HOUR); Current_Minute = c.get(Calendar.MINUTE); Current_Second = c.get(Calendar.SECOND); System.out.println("the value of Current_Year = "+Current_Hour); System.out.println("the value of Current_Month = "+Current_Minute); System.out.println("the value of Current_Date = "+Current_Second); fileName = "Birthday_Card"+"_"+Current_Hour+"_"+Current_Minute+"_"+Current_Second+".png"; String path = "/sdcard/E-card/Birthday_Cards/"; newfileName = path + fileName; System.out.println("the value of newfilename = "+newfileName); System.out.println("The Filename on save card on sdcard = "+fileName); FileOutputStream outStream = null; File file = new File(path); file.mkdirs(); File outputFile = new File(file, fileName); outputFile.createNewFile(); outStream = new FileOutputStream(outputFile); BufferedOutputStream bos = new BufferedOutputStream(outStream); RL.setDrawingCacheEnabled(true); bitmap = Bitmap.createBitmap( RL.getDrawingCache()); bitmap.compress(Bitmap.CompressFormat.PNG, 100,bos); RL.setDrawingCacheEnabled(false); bos.flush(); bos.close(); btn_preview.setVisibility(View.VISIBLE); btn_save.setVisibility(View.GONE); } catch(Exception ex) { ex.printStackTrace(); } }

este código de arriba guardará el de la pantalla que ha enviado, simplemente tendrá que acceder o recuperar esa imagen de su nombre de ruta específica de sdcard