Browse Source

扫一扫 新界面 新逻辑

developer
lh 8 years ago
parent
commit
ec3edcc4d2
5 changed files with 121 additions and 58 deletions
  1. +3
    -0
      app/src/main/AndroidManifest.xml
  2. +2
    -1
      app/src/main/java/com/qhclh/ytzh/home/MainActivity.java
  3. +7
    -57
      app/src/main/java/com/qhclh/ytzh/work/WorkFragment.java
  4. +101
    -0
      app/src/main/java/com/qhclh/ytzh/work/scan/ScanResultActivity.java
  5. +8
    -0
      app/src/main/res/layout/act_scanresult.xml

+ 3
- 0
app/src/main/AndroidManifest.xml View File

@ -38,6 +38,9 @@
<activity
android:name=".index.planorder.OrderActivity"
android:screenOrientation="portrait" />
<activity
android:name=".work.scan.ScanResultActivity"
android:screenOrientation="portrait" />
<!-- 设置竖屏扫码 -->
<activity


+ 2
- 1
app/src/main/java/com/qhclh/ytzh/home/MainActivity.java View File

@ -54,6 +54,7 @@ public class MainActivity extends BaseActivity {
private WorkFragment workFragment;
private MeFragment meFragment;
@Override
protected int setLayoutId() {
return R.layout.act_main;
@ -216,7 +217,7 @@ public class MainActivity extends BaseActivity {
}
private static final int REQUEST_PERMISSION_CAMERA_CODE = 102;
private static final int REQUEST_PERMISSION_CAMERA_CODE = 1021;
@AfterPermissionGranted(REQUEST_PERMISSION_CAMERA_CODE)
private void dongtaiQuanxian() {


+ 7
- 57
app/src/main/java/com/qhclh/ytzh/work/WorkFragment.java View File

@ -1,18 +1,13 @@
package com.qhclh.ytzh.work;
import android.Manifest;
import android.content.Intent;
import android.support.annotation.NonNull;
import android.view.View;
import android.widget.LinearLayout;
import com.google.zxing.integration.android.IntentIntegrator;
import com.google.zxing.integration.android.IntentResult;
import com.qhclh.ytzh.R;
import com.qhclh.ytzh.base.BaseFragment;
import com.qhclh.ytzh.home.MainActivity;
import com.qhclh.ytzh.utils.GlideImageLoader;
import com.qhclh.ytzh.work.scan.ScanActivity;
import com.qhclh.ytzh.work.scan.ScanResultActivity;
import com.youth.banner.Banner;
import com.youth.banner.BannerConfig;
import com.youth.banner.Transformer;
@ -21,8 +16,6 @@ import com.youth.banner.listener.OnBannerListener;
import java.util.ArrayList;
import java.util.List;
import pub.devrel.easypermissions.AfterPermissionGranted;
import pub.devrel.easypermissions.EasyPermissions;
/**
* Created by 青花瓷 on 2017/11/28.
@ -32,7 +25,6 @@ public class WorkFragment extends BaseFragment implements View.OnClickListener {
private Banner banner;
private List<String> list_path;
private LinearLayout work_breedingpoultry,work_carsmanager,work_scan;
private String scanStr = "";
@Override
protected int setLayout() {
return R.layout.fragment_work;
@ -81,6 +73,11 @@ public class WorkFragment extends BaseFragment implements View.OnClickListener {
banner.startAutoPlay();
}
@Override
public void onResume() {
super.onResume();
}
@Override
public void onStop() {
super.onStop();
@ -94,55 +91,8 @@ public class WorkFragment extends BaseFragment implements View.OnClickListener {
}else if (view.equals(work_carsmanager)){
showToast("车辆管理");
}else if (view.equals(work_scan)){
dongtaiQuanxian();
startActivity(new Intent(getActivity(), ScanResultActivity.class));
}
}
private static final int REQUEST_PERMISSION_CAMERA_CODE = 102;
@AfterPermissionGranted(REQUEST_PERMISSION_CAMERA_CODE)
private void dongtaiQuanxian() {
String[] perms = {Manifest.permission.CAMERA};
if (!EasyPermissions.hasPermissions(getActivity(), perms)) {
// Do not have permissions, request them now
EasyPermissions.requestPermissions(this, getString(R.string.permission_camera),
REQUEST_PERMISSION_CAMERA_CODE, perms);
} else {
// Already have permission, do the thing
scan();
}
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this);
}
private void scan() {
IntentIntegrator integrator = new IntentIntegrator(getActivity());
// 设置要扫描的条码类型ONE_D_CODE_TYPES一维码QR_CODE_TYPES-二维码
integrator.setDesiredBarcodeFormats(IntentIntegrator.QR_CODE_TYPES);
integrator.setCaptureActivity(ScanActivity.class);
integrator.setPrompt("请扫描"); //底部的提示文字设为""可以置空
integrator.setCameraId(0); //前置或者后置摄像头
integrator.setBeepEnabled(false); //扫描成功的哔哔默认开启
integrator.setBarcodeImageEnabled(true);
integrator.initiateScan();
}
///< 回调获取扫描得到的条码值
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
if (result != null) {
if (result.getContents() == null) {
showToast("扫码取消!");
} else {
showToast("扫描成功");
scanStr = result.getContents();
}
} else {
super.onActivityResult(requestCode, resultCode, data);
}
}
}

+ 101
- 0
app/src/main/java/com/qhclh/ytzh/work/scan/ScanResultActivity.java View File

@ -0,0 +1,101 @@
package com.qhclh.ytzh.work.scan;
import android.Manifest;
import android.content.Intent;
import android.support.annotation.NonNull;
import com.google.zxing.integration.android.IntentIntegrator;
import com.google.zxing.integration.android.IntentResult;
import com.qhclh.ytzh.R;
import com.qhclh.ytzh.base.BaseActivity;
import pub.devrel.easypermissions.AfterPermissionGranted;
import pub.devrel.easypermissions.EasyPermissions;
/**
* Created by 青花瓷 on 2017/11/29.
*/
public class ScanResultActivity extends BaseActivity {
private String scanStr = "";
private boolean scanf = false;
@Override
protected int setLayoutId() {
return R.layout.act_scanresult;
}
@Override
protected void initView() {
}
@Override
protected void initData() {
}
@Override
protected void initOper() {
}
@Override
protected void onResume() {
super.onResume();
if (scanf == false) {
dongtaiQuanxian();
}
}
private static final int REQUEST_PERMISSION_CAMERA_CODE = 102;
@AfterPermissionGranted(REQUEST_PERMISSION_CAMERA_CODE)
private void dongtaiQuanxian() {
String[] perms = {Manifest.permission.CAMERA};
if (!EasyPermissions.hasPermissions(this, perms)) {
// Do not have permissions, request them now
EasyPermissions.requestPermissions(this, getString(R.string.permission_camera),
REQUEST_PERMISSION_CAMERA_CODE, perms);
} else {
// Already have permission, do the thing
scan();
scanf = true;
}
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this);
}
private void scan() {
IntentIntegrator integrator = new IntentIntegrator(this);
// 设置要扫描的条码类型ONE_D_CODE_TYPES一维码QR_CODE_TYPES-二维码
integrator.setDesiredBarcodeFormats(IntentIntegrator.QR_CODE_TYPES);
integrator.setCaptureActivity(ScanActivity.class);
integrator.setPrompt("请扫描"); //底部的提示文字设为""可以置空
integrator.setCameraId(0); //前置或者后置摄像头
integrator.setBeepEnabled(false); //扫描成功的哔哔默认开启
integrator.setBarcodeImageEnabled(true);
integrator.initiateScan();
}
///< 回调获取扫描得到的条码值
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
if (result != null) {
if (result.getContents() == null) {
showToast("扫码取消!");
finish();
} else {
showToast("扫描成功");
scanStr = result.getContents();
}
} else {
super.onActivityResult(requestCode, resultCode, data);
}
}
}

+ 8
- 0
app/src/main/res/layout/act_scanresult.xml View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
</LinearLayout>

Loading…
Cancel
Save