Browse Source

扫码 照相 手机状态权限

developer
lh 8 years ago
parent
commit
db835439fc
4 changed files with 89 additions and 1 deletions
  1. +2
    -0
      app/src/main/AndroidManifest.xml
  2. +27
    -0
      app/src/main/java/com/qhclh/ytzh/home/MainActivity.java
  3. +58
    -1
      app/src/main/java/com/qhclh/ytzh/work/WorkFragment.java
  4. +2
    -0
      app/src/main/res/values/strings.xml

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

@ -10,6 +10,8 @@
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA"/>
<application <application
android:name=".home.MyApplication" android:name=".home.MyApplication"
android:allowBackup="true" android:allowBackup="true"


+ 27
- 0
app/src/main/java/com/qhclh/ytzh/home/MainActivity.java View File

@ -1,5 +1,7 @@
package com.qhclh.ytzh.home; package com.qhclh.ytzh.home;
import android.Manifest;
import android.support.annotation.NonNull;
import android.support.v4.app.FragmentTransaction; import android.support.v4.app.FragmentTransaction;
import android.support.v7.widget.Toolbar; import android.support.v7.widget.Toolbar;
import android.view.View; import android.view.View;
@ -14,6 +16,8 @@ import com.qhclh.ytzh.work.WorkFragment;
import butterknife.BindView; import butterknife.BindView;
import butterknife.OnClick; import butterknife.OnClick;
import pub.devrel.easypermissions.AfterPermissionGranted;
import pub.devrel.easypermissions.EasyPermissions;
public class MainActivity extends BaseActivity { public class MainActivity extends BaseActivity {
@BindView(R.id.toolbar) @BindView(R.id.toolbar)
@ -60,6 +64,7 @@ public class MainActivity extends BaseActivity {
initToolbar(mToolbar, "", null); initToolbar(mToolbar, "", null);
///< 点击切换fragment ///< 点击切换fragment
onTabClick(mTargetTabPosition); onTabClick(mTargetTabPosition);
dongtaiQuanxian();
} }
@Override @Override
@ -209,4 +214,26 @@ public class MainActivity extends BaseActivity {
showToast(getString(R.string.back_exit_app)); showToast(getString(R.string.back_exit_app));
} }
} }
private static final int REQUEST_PERMISSION_CAMERA_CODE = 102;
@AfterPermissionGranted(REQUEST_PERMISSION_CAMERA_CODE)
private void dongtaiQuanxian() {
String[] perms = {Manifest.permission.READ_PHONE_STATE};
if (!EasyPermissions.hasPermissions(this, perms)) {
// Do not have permissions, request them now
EasyPermissions.requestPermissions(this, getString(R.string.permission_phonestate),
REQUEST_PERMISSION_CAMERA_CODE, perms);
} else {
// Already have permission, do the thing
// ...
}
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this);
}
} }

+ 58
- 1
app/src/main/java/com/qhclh/ytzh/work/WorkFragment.java View File

@ -1,12 +1,18 @@
package com.qhclh.ytzh.work; package com.qhclh.ytzh.work;
import android.Manifest;
import android.content.Intent;
import android.support.annotation.NonNull;
import android.view.View; import android.view.View;
import android.widget.LinearLayout; 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.R;
import com.qhclh.ytzh.base.BaseFragment; import com.qhclh.ytzh.base.BaseFragment;
import com.qhclh.ytzh.home.MainActivity; import com.qhclh.ytzh.home.MainActivity;
import com.qhclh.ytzh.utils.GlideImageLoader; import com.qhclh.ytzh.utils.GlideImageLoader;
import com.qhclh.ytzh.work.scan.ScanActivity;
import com.youth.banner.Banner; import com.youth.banner.Banner;
import com.youth.banner.BannerConfig; import com.youth.banner.BannerConfig;
import com.youth.banner.Transformer; import com.youth.banner.Transformer;
@ -15,6 +21,9 @@ import com.youth.banner.listener.OnBannerListener;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import pub.devrel.easypermissions.AfterPermissionGranted;
import pub.devrel.easypermissions.EasyPermissions;
/** /**
* Created by 青花瓷 on 2017/11/28. * Created by 青花瓷 on 2017/11/28.
*/ */
@ -23,6 +32,7 @@ public class WorkFragment extends BaseFragment implements View.OnClickListener {
private Banner banner; private Banner banner;
private List<String> list_path; private List<String> list_path;
private LinearLayout work_breedingpoultry,work_carsmanager,work_scan; private LinearLayout work_breedingpoultry,work_carsmanager,work_scan;
private String scanStr = "";
@Override @Override
protected int setLayout() { protected int setLayout() {
return R.layout.fragment_work; return R.layout.fragment_work;
@ -84,8 +94,55 @@ public class WorkFragment extends BaseFragment implements View.OnClickListener {
}else if (view.equals(work_carsmanager)){ }else if (view.equals(work_carsmanager)){
showToast("车辆管理"); showToast("车辆管理");
}else if (view.equals(work_scan)){ }else if (view.equals(work_scan)){
showToast("扫一扫");
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(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);
}
} }
} }

+ 2
- 0
app/src/main/res/values/strings.xml View File

@ -16,4 +16,6 @@
<string name="variety">品种:</string> <string name="variety">品种:</string>
<string name="driver">司机:</string> <string name="driver">司机:</string>
<string name="number">数量:</string> <string name="number">数量:</string>
<string name="permission_camera">请给予应用打开摄像头权限</string>
<string name="permission_phonestate">请给予应用获取手机状态权限</string>
</resources> </resources>

Loading…
Cancel
Save