QR画像のサイズを調整

This commit is contained in:
it232115 2024-01-20 14:31:16 +09:00
parent ffd307233b
commit b3972ef0e0
2 changed files with 11 additions and 21 deletions

View File

@ -36,14 +36,14 @@ public class QrUtils {
//IdPrefにの値が初期値の場合 //IdPrefにの値が初期値の場合
AllURL=KoteiURL+key; AllURL=KoteiURL+key;
int size = 1500;
int qrCodeSize = calculateQRCodeSize(); // 画面密度に応じてサイズを計算 int qrCodeSize = calculateQRCodeSize(); // 画面密度に応じてサイズを計算
Bitmap QRGazou; Bitmap QRGazou;
Bitmap bitmapqr; Bitmap bitmapqr;
try { try {
//QRコード生成 //QRコード生成
BarcodeEncoder barcodeEncoder = new BarcodeEncoder(); BarcodeEncoder barcodeEncoder = new BarcodeEncoder();
bitmapqr = barcodeEncoder.encodeBitmap(AllURL, BarcodeFormat.QR_CODE, size, size); bitmapqr = barcodeEncoder.encodeBitmap(AllURL, BarcodeFormat.QR_CODE, qrCodeSize, qrCodeSize);
} catch (WriterException e) { } catch (WriterException e) {
throw new AndroidRuntimeException("Barcode Error.", e); throw new AndroidRuntimeException("Barcode Error.", e);
} }
@ -58,7 +58,7 @@ public class QrUtils {
// 画像のサイズの調整 // 画像のサイズの調整
int disWidth = (width - bitmapqr.getWidth()) / 2; int disWidth = (width - bitmapqr.getWidth()) / 2;
int disHeight = (int) ((height - bitmapqr.getHeight()) / 1.4); int disHeight = (int) ((height - bitmapqr.getHeight()) / 1.5);
canvas.drawBitmap(bitmap, 0, 0, (Paint) null); canvas.drawBitmap(bitmap, 0, 0, (Paint) null);
canvas.drawBitmap(bitmapqr, disWidth, disHeight, (Paint) null); // 画像合成 canvas.drawBitmap(bitmapqr, disWidth, disHeight, (Paint) null); // 画像合成
//Androidからプリンターへ印刷指示を出すサポートライブラリ //Androidからプリンターへ印刷指示を出すサポートライブラリ
@ -72,7 +72,7 @@ public class QrUtils {
// 画面密度に基づいてQRコードのサイズを計算 // 画面密度に基づいてQRコードのサイズを計算
float density = context.getResources().getDisplayMetrics().density; float density = context.getResources().getDisplayMetrics().density;
return (int) (1500 * density); return (int) (800 * density);
} }
} }

View File

@ -73,26 +73,16 @@ public class TestService extends Service {
E.putBoolean("isInCarPref", documentSnapshot.getBoolean("isInCar"));//乗降状態の判定 E.putBoolean("isInCarPref", documentSnapshot.getBoolean("isInCar"));//乗降状態の判定
E.apply();//確定処理 E.apply();//確定処理
Log.d("nt", "レスポンスを検知しました1"); Log.d("nt", "レスポンスを検知しました1");
if (documentSnapshot.getBoolean("isReported") == true && isInCar) {//isReportedがtrueかつisInCarがtrueのとき=サイト上で第三者ボタンが押されたときに乗車状態のとき if (isInCar) {//isReportedがtrue=サイト上で乗車状態のとき
ResetReported();// ResetReported();を処理FireBaseのisReportedをfalseにする if (documentSnapshot.getBoolean("isReported")) {
int importance = NotificationManager.IMPORTANCE_DEFAULT; ResetReported();// ResetReported();を処理FireBaseのisReportedをfalseにする
NotificationChannel channel = new NotificationChannel("CHANNEL_ID", "通報通知", importance); NotificationSetting();//通知に関する設定のメソッド
channel.setDescription("第3者からの通報を検知しました"); Notification(getApplicationContext());//通知を行うメソッド
NotificationManager notificationManager = getSystemService(NotificationManager.class); }
notificationManager.createNotificationChannel(channel); } else if(!isInCar){//isReportedがfalse=サイト上で降車状態のとき
Log.d("nt", "レスポンスを検知しました2");
NotificationSetting();//通知に関する設定のメソッド
Notification(getApplicationContext());//通知を行うメソッド
} else if(isInCar){//Bluetoothの切断後5分以上乗車状態のままのときQRコード読み取りを忘れているとき置き去り発生
ResetReported();//ResetReported();を処理FireBaseのisReportedをfalseにする ResetReported();//ResetReported();を処理FireBaseのisReportedをfalseにする
periodicTaskManager.startPeriodicTask();//通知のループをストップする
E.putBoolean("isInCarPref", !documentSnapshot.getBoolean("isInCar"));//乗降状態の判定
E.apply();//確定処理
}else { }else {
ResetReported();//ResetReported();を処理FireBaseのisReportedをfalseにする ResetReported();//ResetReported();を処理FireBaseのisReportedをfalseにする
periodicTaskManager.stopPeriodicTask();//5分毎に通知を行う
E.putBoolean("isInCarPref", documentSnapshot.getBoolean("isInCar"));//乗降状態の判定
E.apply();//確定処理
} }
} }