充电桩app代码

WelcomeActivity.java 37KB

    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(); } } } }