package com.hdl; import android.Manifest; import android.app.Activity; import android.content.Intent; import android.content.pm.PackageManager; import android.os.Build; import android.widget.Toast; import android.support.v4.app.ActivityCompat; import com.common.openapi.ClassInstanceManager; import com.lechange.demo.tools.MediaPlayHelper; import com.mm.android.deviceaddmodule.CommonParam; import com.mm.android.deviceaddmodule.LCDeviceEngine; import com.mm.android.deviceaddmodule.mobilecommon.AppConsume.ProviderManager; import com.mm.android.deviceaddmodule.openapi.CONST; import com.usermodule.net.IUserDataCallBack; import com.usermodule.net.UserNetManager; public class HdlToLc { private static Activity mActivity; public static void initData(Activity activity,String appKey,String secretKey, boolean isChina) { mActivity = activity; MediaPlayHelper.initContext(mActivity.getApplication().getApplicationContext()); ClassInstanceManager.newInstance().init(mActivity.getApplication()); String mUrl; if (isChina) { // mAppSecret = "f869433de68a4a06bb8f9bb89118fc"; // mAppid = "lc2ea929282d5f4636"; mUrl = CONST.Envirment.CHINA_TEST.url; ProviderManager.getAppProvider().setAppType(0); } else { // mAppSecret = "017fc27bb987496f9a677e4e6f0c88"; // mAppid = "lc0285433bc7e8423d"; // mUrl = CONST.Envirment.OVERSEAS_PRO.url; mUrl=CONST.Envirment.CHINA_TEST.url; ProviderManager.getAppProvider().setAppType(1); } try { CommonParam commonParam = new CommonParam(); commonParam.setEnvirment(mUrl);//云端连接 commonParam.setContext(mActivity.getApplication()); commonParam.setAppId(appKey); commonParam.setAppSecret(secretKey); //SDK信息初始化 LCDeviceEngine.newInstance().init(commonParam); } catch (Throwable e) { Toast.makeText(mActivity, e.getMessage(), Toast.LENGTH_SHORT).show(); } } public static void openActivity(String homeId,String token,String subAccessToken) { try { // getSubAccountToken("827a98c98da7469b8bc19bb6a3c7651906"); LCDeviceEngine.newInstance().setHomeId(homeId); LCDeviceEngine.newInstance().accessToken=(token); LCDeviceEngine.newInstance().setSubAccessToken(subAccessToken); mActivity.startActivity(new Intent(mActivity, com.lechange.demo.ui.DeviceListActivity.class)); } catch (Throwable e) { Toast.makeText(mActivity, e.getMessage(), Toast.LENGTH_SHORT).show(); } } private static void getSubAccountToken(String openId){ UserNetManager.getInstance().subAccountToken(openId, new IUserDataCallBack() { @Override public void onCallBackOpenId(String str) { if (str!=null){ //暂不保存到sp中了,因为获取需要context。 // PreferencesHelper.getInstance(getApplicationContext()).set(Constants.SUBACCOUNTTOKEN,str); LCDeviceEngine.newInstance().setSubAccessToken(str); mActivity.startActivity(new Intent(mActivity,com.lechange.demo.ui.DeviceListActivity.class)); } } @Override public void onError(Throwable throwable) { } }); } /** * 请求对讲权限 */ public static void requestPermission() { boolean isMinSDKM = Build.VERSION.SDK_INT < 23; boolean isGranted = ActivityCompat.checkSelfPermission(mActivity, Manifest.permission.RECORD_AUDIO) == PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(mActivity, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(mActivity, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(mActivity, Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(mActivity, Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED; if (isMinSDKM || isGranted) { return; } requestRecordAudioPermission(); } private static void requestRecordAudioPermission() { if (ActivityCompat.shouldShowRequestPermissionRationale(mActivity, Manifest.permission.RECORD_AUDIO) || ActivityCompat.shouldShowRequestPermissionRationale(mActivity, Manifest.permission.ACCESS_COARSE_LOCATION) || ActivityCompat.shouldShowRequestPermissionRationale(mActivity, Manifest.permission.CAMERA) || ActivityCompat.shouldShowRequestPermissionRationale(mActivity, Manifest.permission.WRITE_EXTERNAL_STORAGE) || ActivityCompat.shouldShowRequestPermissionRationale(mActivity, Manifest.permission.READ_EXTERNAL_STORAGE)) { ActivityCompat.requestPermissions(mActivity, new String[]{ Manifest.permission.RECORD_AUDIO, Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE}, 1); } else { ActivityCompat.requestPermissions(mActivity, new String[]{ Manifest.permission.RECORD_AUDIO, Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE}, 1); } } }