public class Activity_Splash extends BaseActivity implements EasyPermissions.PermissionCallbacks {
private ImageView img;
private Dialog_XieYi dialogXieYi;
private String[] perms = {
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.READ_PHONE_STATE,
Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.ACCESS_FINE_LOCATION};
@Override
protected void setConvertView(Bundle savedInstanceState) {
view = inflater.inflate(R.layout.activity_splash, null);
}
@Override
protected void findViewById() {
img = (ImageView) view.findViewById(R.id.img);
img.setImageResource(R.drawable.img_splash);
}
@Override
protected void setListener() {
}
@Override
protected void initData() {
//利用程序安装器打开程序,启动的Intent是没有带Category,而我们自己打开程序是带了Category,所以只需要在配置Intent.ACTION_MAIN的Activity判断下有无Category。然后放到通知栏的时候要更具有无Category 来生成启动的Intent。
if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) {
finish();
return;
}
if (EmulatorDetectUtil.isEmulator(mContext)){
//错误提示信息
new Dialog_Alert(mContext).showMy(WordUtil.getString(R.string.check_simulator), new Dialog_Alert.OnMyDialogListener() {
@Override
public void ok() {
}
@Override
public void cancel() {
}
});
return;
}
if (Constants.isAgreeXieYi(this)) {
checkMyPermission();
} else {
dialogXieYi = new Dialog_XieYi(this);
dialogXieYi.dialog();
dialogXieYi.setOnMyXieYiListener(new Dialog_XieYi.OnMyXieYiListener() {
@Override
public void ok() {
Constants.setXieYiState(Activity_Splash.this, "1");
checkMyPermission();
}
@Override
public void cancel() {
toMain();
// ActivityManager.getInstance().finishAll();
}
});
}
}
private void checkMyPermission() {
if (EasyPermissions.hasPermissions(this, perms)) {
toMain();
} else {
EasyPermissions.requestPermissions(this, "相关权限被禁止, 无法正常使用某些功能, 请开启!",
0, perms);
}
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this);
}
@Override
public void onPermissionsGranted(int requestCode, List<String> list) {
if (requestCode == 0) {
if (list.size() == perms.length) {
toMain();
}
// for (int i = 0; i < list.size(); i++) {
// if (list.get(i).equals(Manifest.permission.ACCESS_COARSE_LOCATION) || list.get(i).equals(Manifest.permission.ACCESS_FINE_LOCATION)) {
//
// //防止多次定位
// if (aMapUtils != null) {
// return;
// }
//
// //自动定位传给后台
// getLocation();
// }
// }
}
}
@Override
public void onPermissionsDenied(int requestCode, List<String> list) {
if (requestCode == 0) {
//已禁止权限
EasyPermissions.requestPermissions(this, "相关权限被禁止, 无法正常使用某些功能, 请开启!",
0, perms);
}
}
private void toMain() {
new Handler().postDelayed(new Runnable() {
public void run() {
// if (StringUtil.isEmpty(Constants.getUserToken(mContext))) {
// Intent intent = new Intent(Activity_Splash.this, Activity_Login.class);
// startActivity(intent);
// } else {
// Intent intent = new Intent(Activity_Splash.this, Activity_Main.class);
// startActivity(intent);
// }
Intent intent = new Intent(Activity_Splash.this, Activity_Main.class);
startActivity(intent);
finish();
}
}, 1500);
}
@Override
public void onClick(View view) {
}
}