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ď č. 1Použ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.