我开发了一个Android应用程序,用户可以使用SmsManager Api向任何号码发送消息。
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage("phoneNo", null, "sms message", null, null);
现在我希望该用户使用
将小图片发送到任意数字smsManager.sendTextMessage("phoneNo", null, picture, null, null);
我不想通过MMS发送这张图片。我知道这可以通过在发送端将图片转换为字符串并在接收端将字符串重新转换为图片来实现。但我不知道怎么做。这是Android应用程序的快照,它已经完成了这项任务。我想这样做,如snapshot link
所示答案 0 :(得分:1)
使用以下代码
/ ** *将图像编码为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);
答案 1 :(得分:0)
这是不可能的。因为如果您将图像转换为base64而不是超过300的字符(对于50x50的最小图像),那么它将成为MMS。