android 打印文件分爲了兩種方式:
github:https://github.com/hyyz3293/circlegearview.git
1、調用第三方app打印文件
2、直接連接藍牙打印文件
現在下面介紹的是調用第三方 app打印
/**
* 判斷PrinterShare是否安裝
*
* @param context
* @param
* @return
*/
public static boolean isAppInstalled(Context context) {
//String packageName = “com.dynamixsoftware.printershare.amazon”;
String packageName = PrinterManageUtil.PRINT_SHARE_PAKEAGE_NAME;
final PackageManager packageManager = context.getPackageManager();
List pinfo = packageManager.getInstalledPackages(0);
List pName = new ArrayList();
if (pinfo != null) {
for (int i = 0; i < pinfo.size(); i++) {
String pn = pinfo.get(i).packageName;
pName.add(pn);
}
}
return pName.contains(packageName);
}
/**
* 使用PrinterShare打印Word文檔
* @param context
/
public static void printerShareWORD(Context context, String filePath) {
if (PrinterShareUtil.isAppInstalled(context)) {
PrinterShareUtil.startWordPrinterShare(context,filePath);
} else {
Toast.makeText(context, “請先安裝PrintShare打印工具”, Toast.LENGTH_SHORT).show();
}
}
/*
* 使用PrinterShare打印圖片
* @param context
* @param filePath 圖片地址
*/
public static void printerShareBitmap(Context context, String filePath) {
if (PrinterShareUtil.isAppInstalled(context)) {
PrinterShareUtil.startPicturesPrinterShare(context,filePath);
//insertDataBase();
} else {
Toast.makeText(context, “請先安裝PrintShare打印工具”, Toast.LENGTH_SHORT).show();
}
}
/**
* 啓動圖片打印
*
* @param context
* @param context
*/
public static void startPicturesPrinterShare(Context context) {
String param = PrinterManageUtil.SAVE_SHOT_PATH + "shot.png";
String cls = "com.dynamixsoftware.printershare.ActivityPrintPictures";
String type = "image/*";
Intent intent = new Intent();
ComponentName comp = new ComponentName(
"com.dynamixsoftware.printershare.amazon", cls);
intent = new Intent();
intent.setComponent(comp);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction("android.intent.action.VIEW");
intent.setDataAndType(Uri.fromFile(new File(param)), type);
context.startActivity(intent);
}