/ / Ako previesť obrázok na text a odoslať ho ako sms v

Ako previesť obrázok do textu a poslať ako sms v android - android

Vyvinul som aplikáciu pre Android, v ktorej môže používateľ odosielať správy na ľubovoľné číslo pomocou aplikácie SmsManager Api.

SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage("phoneNo", null, "sms message", null, null);

Teraz chcem, aby užívateľ poslal malý obrázok na akékoľvek číslo pomocou

smsManager.sendTextMessage("phoneNo", null, picture, null, null);

Nechcem poslať tento obrázok prostredníctvom MMS.Viem, že sa to dá dosiahnuť konverziou obrázka na reťazec na odosielajúcom konci a konverziou reťazca na obrázok na prijímajúcom konci. Ale ja to nerobím. Tu je snímka aplikácie pre Android, ktorá túto úlohu splnila. Chcem to urobiť, ako je uvedené v odkaz na snímku

odpovede:

1 pre odpoveď č. 1

Použite nasledujúci kód

/ ** * Zakóduje obrázok do Base64. * /

    private String encodeImage(String photoPath) {

File imagefile = new File(photoPath);
FileInputStream fis = null;
try {
fis = new FileInputStream(imagefile);
} catch (FileNotFoundException e) {
e.printStackTrace();
}

Bitmap bm = BitmapFactory.decodeStream(fis);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bm.compress(Bitmap.CompressFormat.JPEG, 80, baos);
byte[] b = baos.toByteArray();
return Base64.encodeToString(b, Base64.DEFAULT);

0 pre odpoveď č. 2

To nie je možné. pretože ak konvertujete obrázok na základňu64, počet znakov nie je väčší ako 300 (pre najmenší obrázok s rozmermi 50 x 50) sa tak stane MMS.