|
package com.electric.chargingpile.activity;
import android.Manifest;
import android.annotation.TargetApi;
import android.app.Activity;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
import android.os.Message;
import android.support.annotation.NonNull;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AlertDialog;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import com.alibaba.fastjson.JSON;
import com.amap.api.maps.MapsInitializer;
import com.andview.refreshview.utils.Utils;
import com.blankj.utilcode.util.CacheUtils;
import com.blankj.utilcode.util.EmptyUtils;
import com.blankj.utilcode.util.LogUtils;
import com.blankj.utilcode.util.StringUtils;
import com.electric.chargingpile.BuildConfig;
import com.electric.chargingpile.R;
import com.electric.chargingpile.application.MainApplication;
import com.electric.chargingpile.data.AdDetail;
import com.electric.chargingpile.data.OperatorData;
import com.electric.chargingpile.manager.ProfileManager;
import com.electric.chargingpile.util.BarColorUtil;
import com.electric.chargingpile.util.DES3;
import com.electric.chargingpile.util.JsonUtils;
import com.electric.chargingpile.util.OkHttpUtil;
import com.electric.chargingpile.view.ViewPagerAdapter;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.squareup.okhttp.Request;
import com.squareup.okhttp.Response;
import com.umeng.analytics.MobclickAgent;
import com.zhy.http.okhttp.OkHttpUtils;
import com.zhy.http.okhttp.callback.StringCallback;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.URL;
import java.net.URLEncoder;
import java.security.MessageDigest;
import java.util.ArrayList;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;
import cn.jpush.android.api.JPushInterface;
import okhttp3.Call;
import pub.devrel.easypermissions.AfterPermissionGranted;
import pub.devrel.easypermissions.EasyPermissions;
public class WelcomeActivity extends Activity implements OnClickListener, EasyPermissions.PermissionCallbacks {
private static final String TAG = "WelcomeActivity";
private ViewPager viewPager;
private List<View> views;
private ImageView img_welcome;
private View one, two, three, four;
private RelativeLayout rl_welcome;
private TextView androidd;
Bitmap bitmap;
private ImageView enter;
private String imgUrl = "", app_version = "";
String img = "";
String url = "";
private Socket socket;
private Timer mTimer;
private int count = 0;
private LinearLayout ll_1;
public static List<AdDetail> list_ad = new ArrayList<AdDetail>();
public static List<OperatorData> ll = new ArrayList<OperatorData>();
public static String canCost = "";
private static final int RC_CAMERA_PERM = 123;
private static final int RC_SAVE_PERM = 124;
private static final String MAP_FILE_PATH = getPath(Environment.getExternalStorageDirectory() + "/" + "cdz_map");
private ImageView oneIv, twoIv, threeIv, fourIv;
private Handler handler = new Handler() {
// 主线程通过这个方法处理消息
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case 1:
try {
JSONArray jsonArray = new JSONArray(msg.obj.toString());
JSONObject jsonObj = new JSONObject(jsonArray.get(0).toString());
img = jsonObj.getString("img");
// Log.e("!!!!!pic", MainApplication.url + "/zhannew//uploadfile/" + img);
// JSONObject jsonObj = new JSONObject(msg.obj.toString());
// final String img = jsonObj.getString("img");
} catch (JSONException e) {
e.printStackTrace();
}
break;
case 3:
Toast.makeText(getApplication(), "服务器处理错误", Toast.LENGTH_SHORT).show();
break;
case 9:
try {
String data = JsonUtils.getKeyResult(msg.obj.toString(), "data");
String ad_major = JsonUtils.getKeyResult(data, "ad_major");
if (EmptyUtils.isNotEmpty(ad_major)) {
MainApplication.haveActivity = true;
MainApplication.ad_major = ad_major;
img = JsonUtils.getKeyResult(ad_major, "img");
url = JsonUtils.getKeyResult(ad_major, "url");
String content = JsonUtils.getKeyResult(ad_major, "content");
String icon = JsonUtils.getKeyResult(ad_major, "icon");
String title = JsonUtils.getKeyResult(ad_major, "title");
String is_dui = JsonUtils.getKeyResult(ad_major, "is_dui");
if (is_dui.equals("1")) {
MainApplication.current_url = url;
}
dealOperatorData();
imgUrl = MainApplication.url + "/zhannew//uploadfile/" + img;
if (!imgUrl.toString().equals("")) {
Intent intent = new Intent(getApplication(), HomeAdActivity.class);
intent.putExtra("imgUrl", imgUrl);
intent.putExtra("url", url);
intent.putExtra("content", content);
intent.putExtra("icon", icon);
intent.putExtra("title", title);
intent.putExtra("is_dui", is_dui);
startActivity(intent);
finish();
// mTimer.cancel();
overridePendingTransition(0, 0);
} else {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
startActivity(new Intent(WelcomeActivity.this,
MainMapActivity.class));
finish();
// mTimer.cancel();
}
}, 2000);
}
} else {
getOperatorData();
}
String ad = JsonUtils.getKeyResult(data, "ad");
String ad_detail = JsonUtils.getKeyResult(data, "ad_detail");
if (EmptyUtils.isNotEmpty(ad_detail)) {
MainApplication.list_addetail = JsonUtils.parseToObjectList(ad_detail, AdDetail.class);
}
String huodonglabel = JsonUtils.getKeyResult(data, "huodonglabel");
String levellabel = JsonUtils.getKeyResult(data, "levellabel");
if (null == levellabel) {
String level = CacheUtils.getInstance().getString("levellabel");
if (level != null) {
levellabel = level;
} else {
levellabel = getResources().getString(R.string.app_level_label);
LogUtils.e("本地读取");
}
}
CacheUtils.getInstance().put("levellabel", levellabel);
MainApplication.level_one = JsonUtils.getKeyResult(levellabel, "1");
MainApplication.level_two = JsonUtils.getKeyResult(levellabel, "2");
MainApplication.level_three = JsonUtils.getKeyResult(levellabel, "3");
MainApplication.level_four = JsonUtils.getKeyResult(levellabel, "4");
MainApplication.level_five = JsonUtils.getKeyResult(levellabel, "5");
if (EmptyUtils.isNotEmpty(huodonglabel)) {
com.alibaba.fastjson.JSONArray array = JSON.parseArray(huodonglabel);
if (array.size() > 0) {
String s = array.getJSONObject(0).toString();
MainApplication.huodonglabel = JsonUtils.getKeyResult(s, "meg");
}
}
// Toast.makeText(getApplicationContext(),MainApplication.huodonglabel,Toast.LENGTH_SHORT).show();
if (EmptyUtils.isEmpty(ad)) {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
// LogUtils.e("123123");
startActivity(new Intent(WelcomeActivity.this,
MainMapActivity.class));
finish();
// mTimer.cancel();
}
}, 1000);
}
com.alibaba.fastjson.JSONArray jsonArray = JSON.parseArray(ad);
if (EmptyUtils.isNotEmpty(jsonArray) && jsonArray.size() > 0) {
String welcome_ad = jsonArray.getJSONObject(0).toString();
img = JsonUtils.getKeyResult(welcome_ad, "img");
url = JsonUtils.getKeyResult(welcome_ad, "url");
String content = JsonUtils.getKeyResult(welcome_ad, "content");
String icon = JsonUtils.getKeyResult(welcome_ad, "icon");
String title = JsonUtils.getKeyResult(welcome_ad, "title");
String is_dui = JsonUtils.getKeyResult(welcome_ad, "is_dui");
if (is_dui.equals("1")) {
MainApplication.current_url = url;
}
imgUrl = MainApplication.url + "/zhannew//uploadfile/" + img;
if (!imgUrl.toString().equals("")) {
Intent intent = new Intent(getApplication(), HomeAdActivity.class);
intent.putExtra("imgUrl", imgUrl);
intent.putExtra("url", url);
intent.putExtra("content", content);
intent.putExtra("icon", icon);
intent.putExtra("title", title);
intent.putExtra("is_dui", is_dui);
startActivity(intent);
finish();
// mTimer.cancel();
overridePendingTransition(0, 0);
} else {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
startActivity(new Intent(WelcomeActivity.this,
MainMapActivity.class));
finish();
// mTimer.cancel();
}
}, 2000);
}
}
} catch (Exception e) {
e.printStackTrace();
}
break;
// case 19 :
// try {
// img_welcome = (ImageView) findViewById(R.id.img_welcome);
//// rl_w.setVisibility(View.VISIBLE);
// img_welcome.setImageDrawable((Drawable) msg.obj);
// img_welcome.setOnClickListener(new OnClickListener() {
// @Override
// public void onClick(View v) {
// if (!url.equals("")){
//
//
// }
//
// }
// });
//// rl_welcome.setOnClickListener(new OnClickListener() {
//// @Override
//// public void onClick(View v) {
////// link();
////// rl_ad.setVisibility(View.GONE);
//// }
//// });
//
// } catch (Exception e) {
// e.printStackTrace();
// }
// break;
default:
break;
}
}
};
private static String getPath(String path) {
File f = new File(path);
if (!f.exists()) {
f.mkdirs();
}
return f.getAbsolutePath();
}
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_welcome);
BarColorUtil.initStatusBarColor(WelcomeActivity.this);
// BarUtils.setStatusBarAlpha(this);
androidd = (TextView) findViewById(R.id.android);
ll_1 = (LinearLayout) findViewById(R.id.ll_1);
getVersion();
MapsInitializer.sdcardDir = MAP_FILE_PATH;
// boolean isClean = SPUtils.getInstance("DATA_CLEAN").getBoolean("isClean");
// if (isClean == false){
// DeleteFile(new File("/mnt/sdcard/amap"));
// SPUtils.getInstance("DATA_CLEAN").put("isClean",true);
// }
mTimer = new Timer();
if (ProfileManager.getInstance().getGuide(this)) {
saveTask();
} else {
MainApplication.isFirstExample = true;
cameraTask();
androidd.setVisibility(View.GONE);
ll_1.setVisibility(View.GONE);
viewPager = (ViewPager) findViewById(R.id.viewpager);
viewPager.setVisibility(View.VISIBLE);
views = new ArrayList<View>();
one = LayoutInflater.from(this).inflate(
R.layout.viewpager_guide_one, null);
two = LayoutInflater.from(this).inflate(
R.layout.viewpager_guide_two, null);
three = LayoutInflater.from(this).inflate(
R.layout.viewpager_guide_three, null);
four = LayoutInflater.from(this).inflate(
R.layout.viewpager_guide_four, null);
enter = (ImageView) four.findViewById(R.id.bt_enter);
enter.setOnClickListener(this);
views.add(one);
views.add(two);
views.add(three);
views.add(four);
viewPager.setAdapter(new ViewPagerAdapter(views));
viewPager.setCurrentItem(0);
}
}
public void getVersion() {
try {
PackageManager manager = getApplication().getPackageManager();
PackageInfo info = manager.getPackageInfo(getApplication().getPackageName(), 0);
app_version = info.versionName;
// return this.getString(R.string.version_name) + version;
androidd.setText("For Android V" + app_version);
} catch (Exception e) {
e.printStackTrace();
// return this.getString(R.string.can_not_find_version_name);
}
}
private void setTimerTasks() {
mTimer.schedule(new TimerTask() {
@Override
public void run() {
count++;
Log.e("count==", count + "");
if (count == 6) {
startActivity(new Intent(WelcomeActivity.this, MainMapActivity.class));
finish();
mTimer.cancel();
count = 0;
}
}
}, 0, 1000/* 表示1000毫秒之後,每隔1000毫秒執行一次 */);
}
public void eteinit(final String params) {
setTimerTasks();
new Thread(new Runnable() {
@Override
public void run() {
try {
// 创建Socket
String host = "";
if (MainApplication.url.contains("cdz.evcharge.cc")) {
host = "cdz.evcharge.cc";
} else {
host = "59.110.68.162";
}
socket = new Socket(host, 9503);
// 向服务器发送消息
PrintWriter out = new PrintWriter(new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream())), true);
out.println(params);
// out.println("{\"fun\":\"getcity\"}");
// 接收来自服务器的消息
BufferedReader br = new BufferedReader(new InputStreamReader(
socket.getInputStream()));
String msg = br.readLine();
// Log.d("dddddss",msg);
String token = msg;
// Log.e("msg_init", msg);
int time = (int) (System.currentTimeMillis() / 1000);
// if (time >= 1484841600 && time <= 1486569599 ){
// MainApplication.festival_time = "1";
// }else if (time >= 1486569600 && time <= 1486915199){
// MainApplication.festival_time = "2";
// }
// cha = String.valueOf(time - Integer.parseInt(msg));
MainMapActivity.cha = time - Integer.parseInt(msg);
// Log.e("timer===", time + "");
String Token = getMD5(String.valueOf((System.currentTimeMillis() / 1000 - MainMapActivity.cha) / 10) + "qwerty");
// Log.d("11111","{\"fun\":\"init\",\"timer\":" + "\"" + Token + "\"" + "}");
StringBuffer initParams = new StringBuffer();
initParams.append("{\"fun\":\"init\",\"timer\":\"" + Token + "\"");
initParams.append(",\"w\":\"" + Utils.getScreenWidth(WelcomeActivity.this) + "\"");
initParams.append(",\"h\":\"" + Utils.getScreenHeight(WelcomeActivity.this) + "\"");
initParams.append(",\"version_name\":\"" + BuildConfig.VERSION_NAME + "\"");
initParams.append(",\"version_code\":\"" + BuildConfig.VERSION_CODE + "\"");
initParams.append(",\"os\":\"android "+ Build.VERSION.RELEASE +"\""); // 操作系统及版本
// initParams.append(",\"version\":\"" + Build.VERSION.RELEASE + "\""); // 操作系统版本
initParams.append(",\"brand\":\"" + Build.BRAND + "\""); // 品牌
initParams.append(",\"model\":\"" + Build.MODEL + "\""); // 型号
initParams.append("}");
ete2(initParams.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
}
public void ete2(final String params) {
new Thread(new Runnable() {
@Override
public void run() {
try {
// 创建Socket
String host = "";
if (MainApplication.url.contains("cdz.evcharge.cc")) {
host = "cdz.evcharge.cc";
} else {
host = "59.110.68.162";
}
socket = new Socket(host, 9503); // IP:10.14.114.127,端口54321
// SocketAddress socAddress = new InetSocketAddress("cdz.d1ev.com", 9503);
// socket.connect(socAddress, 5000);
// 向服务器发送消息
PrintWriter out = new PrintWriter(new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream())), true);
out.println(params);
// out.println("{\"fun\":\"getcity\"}");
// 接收来自服务器的消息
BufferedReader br = new BufferedReader(new InputStreamReader(
socket.getInputStream()));
String msg = br.readLine();
if (msg != null) {
Message mes = new Message();
mes.obj = msg;
mes.what = 9;
handler.sendMessage(mes);
mTimer.cancel();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
}
public static String getMD5(String content) {
try {
MessageDigest digest = MessageDigest.getInstance("MD5");
digest.update(content.getBytes());
return getHashString(digest);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
private static String getHashString(MessageDigest digest) {
StringBuilder builder = new StringBuilder();
for (byte b : digest.digest()) {
builder.append(Integer.toHexString((b >> 4) & 0xf));
builder.append(Integer.toHexString(b & 0xf));
}
return builder.toString().toLowerCase();
}
// getStartPic();
// img_welcome = (ImageView) findViewById(R.id.img_welcome);
// new Thread(new Runnable() {
// @Override
// public void run() {
// bitmap = ImageLoader.getInstance().loadImageSync(MainApplication.userIcon);
//
// }
// }).start();
// saveBitmap(bitmap);
//
// String dir_path=Environment.getExternalStorageDirectory()+File.separator+"d1ev/";
// File f = new File(dir_path, "welcome_pic");
// img_welcome.setImageURI(Uri.fromFile(f));
private Drawable loadImageFromNetwork(String imageUrl) {
Drawable drawable = null;
try {
// 可以在这里通过文件名来判断,是否本地有此图片
drawable = Drawable.createFromStream(
new URL(imageUrl).openStream(), "adout.jpg");
Message msg = new Message();
msg.obj = drawable;
msg.what = 19;
handler.sendMessage(msg);
} catch (IOException e) {
Log.d("test", e.getMessage());
}
if (drawable == null) {
Log.d("test", "null drawable");
} else {
Log.d("test", "not null drawable");
}
return drawable;
}
// private void getAdout() {
//
// new Thread(new Runnable() {
// @Override
// public void run() {
// try {
//
// String url = null;
//
// long appTime1 = System.currentTimeMillis() / 1000;
// Log.i("appTime(long)---", appTime1 + "");
// long updatetime = appTime1 - 7200;
// String token = String.valueOf(updatetime);
//
// String replace = URLEncoder.encode(DES3.encode(token));
//
// url = MainApplication.url + "/zhannew/basic/web/index.php/ad/get?timer=" + replace;
//
// getAdoutt(url);
// } catch (Exception e) {
// e.printStackTrace();
// }
//
// }
// }).start();
// }
//
// private void getAdoutt(String sms) {
//
// Log.e("url", sms);
// Request request = new Request.Builder().url(sms).build();
// Response response = null;
// try {
// if (request == null) {
// Message msg = new Message();
// msg.what = 3;
// handler.sendMessage(msg);
// return;
// }
// response = OkHttpUtil.execute(request);
// if (response.code() == 200) {
// String json = "";
// try {
// json = response.body().string();
// Message msg = new Message();
// msg.obj = json;
// msg.what = 9;
// handler.sendMessage(msg);
// Log.e("url", json);
//// Log.i("token解密:", DES3.decode(encode_token));
// } catch (Exception e) {
// e.printStackTrace();
// Message msg = new Message();
// msg.what = 3;
// handler.sendMessage(msg);
// }
// }
// } catch (Exception e) {
// e.printStackTrace();
// Message msg = new Message();
// msg.what = 3;
// handler.sendMessage(msg);
// }
// }
public void saveBitmap(Bitmap mBitmap) {
String dir_path = Environment.getExternalStorageDirectory() + File.separator + "d1ev/";
File directory = new File(dir_path);
File f = new File(dir_path, "welcome_pic");
try {
if (!directory.exists()) {
directory.mkdir();//没有目录先创建目录
}
f.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
}
FileOutputStream fOut = null;
try {
fOut = new FileOutputStream(f);
} catch (Exception e) {
e.printStackTrace();
}
mBitmap.compress(Bitmap.CompressFormat.PNG, 100, fOut);
try {
fOut.flush();
} catch (IOException e) {
e.printStackTrace();
}
try {
fOut.close();
} catch (IOException e) {
e.printStackTrace();
}
}
private void getStartPic() {
new Thread(new Runnable() {
@Override
public void run() {
String url = null;
try {
long appTime1 = System.currentTimeMillis() / 1000;
// Log.i("appTime(long)---", appTime1 + "");
long updatetime = appTime1 - 7200;
String token = String.valueOf(updatetime);
String replace = URLEncoder.encode(DES3.encode(token));
url = MainApplication.url + "/zhannew/basic/web/index.php/ad/get?timer=" + replace;
} catch (Exception e) {
e.printStackTrace();
}
submitPic(url);
}
}).start();
}
private void submitPic(String sms) {
// Log.e("url", sms);
Request request = new Request.Builder().url(sms).build();
Response response = null;
try {
if (request == null) {
Message msg = new Message();
msg.what = 3;
handler.sendMessage(msg);
return;
}
response = OkHttpUtil.execute(request);
if (response.code() == 200) {
String json = "";
try {
json = response.body().string();
Message msg = new Message();
msg.obj = json;
msg.what = 1;
handler.sendMessage(msg);
Log.e("url", json);
// Log.i("token解密:", DES3.decode(encode_token));
} catch (Exception e) {
e.printStackTrace();
Message msg = new Message();
msg.what = 3;
handler.sendMessage(msg);
}
}
} catch (Exception e) {
e.printStackTrace();
Message msg = new Message();
msg.what = 3;
handler.sendMessage(msg);
}
}
@Override
protected void onResume() {
super.onResume();
MobclickAgent.onResume(this);
JPushInterface.onResume(this);
}
@Override
protected void onPause() {
super.onPause();
MobclickAgent.onPause(this);
JPushInterface.onPause(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.guideone:
viewPager.setCurrentItem(1);
break;
case R.id.guidetwo:
viewPager.setCurrentItem(2);
break;
case R.id.guidethree:
viewPager.setCurrentItem(3);
// ProfileManager.getInstance().setGuide(this, true);
// startActivity(new Intent(this, MainActicity.class));
// finish();
case R.id.bt_enter:
// Log.e("@@@","@!@@");
// ProfileManager.getInstance().setGuide(this, true);
startActivity(new Intent(this, MainMapActivity.class));
finish();
break;
}
}
private void dealOperatorData() {
String operator = ProfileManager.getInstance().getKeyOperator(getApplicationContext());
String localOperators = "";
if (StringUtils.isEmpty(operator)) {
// LogUtils.e("读取本地");
localOperators = getResources().getString(R.string.app_operator_list);
} else {
// LogUtils.e("读取缓存");
localOperators = operator;
}
Gson gson = new Gson();
ll = gson.fromJson(localOperators, new TypeToken<List<OperatorData>>() {
}.getType());
for (int i = 0; i < ll.size(); i++) {
if (ll.get(i).getStatus().equals("1")) {
canCost += ll.get(i).getName() + ",";
}
}
}
/**
* 获取运营商信息
*/
private void getOperatorData() {
String url = MainApplication.url + "/zhannew/basic/web/index.php/suppiler/suppiler-list";
OkHttpUtils.get().url(url).build().execute(new StringCallback() {
@Override
public void onError(Call call, Exception e) {
}
@Override
public void onResponse(String response) {
String code = JsonUtils.getKeyResult(response, "code");
if (code.equals("200")) {
String data = JsonUtils.getKeyResult(response, "data");
ProfileManager.getInstance().setAppOperator(getApplicationContext(), data);
// LogUtils.e(ProfileManager.getInstance().getKeyOperator(getApplicationContext()));
Gson gson = new Gson();
ll = gson.fromJson(data, new TypeToken<List<OperatorData>>() {
}.getType());
for (int i = 0; i < ll.size(); i++) {
if (ll.get(i).getStatus().equals("1")) {
canCost += ll.get(i).getName() + ",";
}
}
}
}
});
}
@Override
public void onRequestPermissionsResult(int requestCode,
@NonNull String[] permissions,
@NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
// EasyPermissions handles the request result.
EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this);
}
@Override
public void onPermissionsGranted(int requestCode, List<String> perms) {
LogUtils.e("onPermissionsGranted");
for (String s : perms) {
if (s.equals(Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
MainApplication.isFirstExample = false;
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
eteinit("{\"fun\":\"timer\"}");
}
}, 1000);
}
break;
}
}
@Override
public void onPermissionsDenied(int requestCode, List<String> perms) {
LogUtils.e("onPermissionsDenied");
for (String s : perms) {
if (s.equals(Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
AlertDialog.Builder builder = new AlertDialog.Builder(WelcomeActivity.this);
builder.setMessage("充电桩想要获取您的相关权限,是否允许?");
builder.setCancelable(false);
builder.setPositiveButton("去设置", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
EasyPermissions.requestPermissions(
WelcomeActivity.this, "充电桩想要获取您的相关权限,是否允许?",
RC_SAVE_PERM,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE);
}
});
builder.create().show();
}
break;
}
}
@AfterPermissionGranted(RC_CAMERA_PERM)
public void cameraTask() {
if (isPermissionOK()) {
// Have permission, do the thing!
// Toast.makeText(this, "TODO: Camera things", Toast.LENGTH_LONG).show();
// ifTimeout();
} else {
// Ask for one permission
EasyPermissions.requestPermissions(
this, "充电桩想要获取您的相关权限,是否允许?",
RC_CAMERA_PERM,
Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.READ_PHONE_STATE);
}
}
@AfterPermissionGranted(RC_SAVE_PERM)
public void saveTask() {
if (isSavePermissionOK()) {
MainApplication.isFirstExample = false;
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
eteinit("{\"fun\":\"timer\"}");
}
}, 1000);
// Have permission, do the thing!
// Toast.makeText(this, "TODO: Camera things", Toast.LENGTH_LONG).show();
// ifTimeout();
} else {
// Ask for one permission
EasyPermissions.requestPermissions(
this, "充电桩想要获取您的相关权限,是否允许?",
RC_CAMERA_PERM,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE);
}
}
private boolean isPermissionOK() {
return EasyPermissions.hasPermissions(this,
Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.READ_PHONE_STATE
);
}
private boolean isSavePermissionOK() {
return EasyPermissions.hasPermissions(this,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE
);
}
public static void DeleteFile(File file) {
if (file.exists() == false) {
return;
} else {
if (file.isFile()) {
file.delete();
return;
}
if (file.isDirectory()) {
File[] childFile = file.listFiles();
if (childFile == null || childFile.length == 0) {
file.delete();
return;
}
for (File f : childFile) {
DeleteFile(f);
}
file.delete();
}
}
}
}
|