Поддержка печати в Android 4.3 Jelly Bean

Программирование приложения для устройства, на котором работает Jelly Bean 4.3.

Наше приложение делает фотографию, выполняет некоторую обработку, а затем должно распечатать ее на (сублимационном) фотопринтере WiFi. (Возможно, Canon Selphy CP910.)

Я застрял, как лучше всего подойти к печати фотографии. У меня есть пара вопросов.

  1. Верно ли, что Jelly Bean вообще не поддерживает печать? KitKat предлагает [Printer] класс. Jelly Bean вообще ничего не предлагает? Или я что-то упускаю?
  2. Есть ли что-то на GitHub, что могло бы помочь (но я не смог найти)?
  3. Если нет поддержки печати, какое решение лучше?
  4. Можно ли отправить намерение в приложение Canon Printer (Easy Photo-Print), что будет дальше?
  5. Единственное решение, которое я могу придумать, это сохранить фотографию в виде файла JPG. затем выйдите из нашего приложения, затем запустите Canon EPP и найдите фотографию для печати. Должен быть лучший способ, верно?
  6. Если сохранение фотографии в формате JPG является единственным решением, где я могу сохранить ее, чтобы Canon EPP мог ее найти? Внешний накопитель не работает. Оказывается, EPP не может найти там фото...

person Ivo Renkema    schedule 19.08.2014    source источник
comment
Я вам не завидую, вам приходится работать с устройствами Canon. Однако радуйтесь, что вам не нужно писать для них приложения. Вопрос в том, помогает ли это как-то? github.com/EionRobb/phonegap-print-plugins/ blob/master/Android/ Возможно, этот вопрос может несколько помочь stackoverflow.com/questions/9917008/android- намерение печати   -  person EpicPandaForce    schedule 19.08.2014
comment
Если у вас есть дополнительный адаптер Bluetooth, в этом случае вы сможете выполнять печать через Bluetooth: github .com/pradeepksingh/Android-Bluetooth-принтер   -  person Mdlc    schedule 19.08.2014
comment
@Zhuinden: О, PhoneGap выглядит многообещающе! Спасибо. (@ Mldc: К сожалению, нет Bluetooth...)   -  person Ivo Renkema    schedule 19.08.2014


Ответы (1)


После взлома phonegap это работает:

final Intent sharingIntent = new Intent( "android.intent.action.SEND" );
sharingIntent.setPackage("jp.co.canon.bsd.android.aepp.activity");
sharingIntent.setType("image/jpeg");
sharingIntent.putExtra(Intent.EXTRA_STREAM, printUri);   
startActivity(Intent.createChooser(sharingIntent, "Print Photo"));

где printUri — это Uri для файла JPEG на внешнем хранилище.

Если вам нужен принтер другого производителя, источник phonegap перечисляет довольно много.

person Ivo Renkema    schedule 20.08.2014