public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
/*setTheme(R.style.SplashTheme);*/
super.onCreate(savedInstanceState);
if (Build.VERSION.SDK_INT >= 21) {
View decorView = getWindow().getDecorView();
decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
getWindow().setStatusBarColor(Color.TRANSPARENT);
}
setContentView(R.layout.activity_main);
initView1();
/* new Thread() {
@Override
public void run() {
initView1();
}
}.start();*/
ZXingLibrary.initDisplayOpinion(this);
/*自己加的* */
registerSipRegStateReceiver();
openService();
new Handler().postDelayed(new Runnable() { //设置3秒消失
@Override
public void run() {
talk.setConfig(SIP,SIP_PSW);
//----------------------------------配置成功后,RecvMsg4Jni会返回一个成功码,成功后可以发送重发指令(在一个界面或者服务里接收)------------------------
}
},3000);
RecvMsg4Jni.setListent(new CallIdListent() {
@Override
public void call() {
startActivity(new Intent(MainActivity.this,VideoActivity.class));
}
});
// normalWallpaperSelect();
}
@TargetApi(Build.VERSION_CODES.M)
private void initView1() {
final WebView webView = (WebView) findViewById(R.id.web1);
final ImageView imageView= (ImageView) findViewById(R.id.splash_bg_img);
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webView.setBackgroundResource(R.drawable.timg);
webView.setBackgroundColor(Color.argb(0, 0, 0, 0));
webView.loadUrl("http://192.168.1.108:8080/#/index");
webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
webView.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {
super.onProgressChanged(view, newProgress);
if (newProgress >= 100) {
webView.setBackgroundResource(R.color.lmj);
// imageView.setVisibility(View.INVISIBLE);
}
}
});
webView.addJavascriptInterface(this,"monitor");
}
/**
* 发送重播(SIP服务器注册状态 0:注册失败 1:注册成功) 当返回1的时候就可以使用这个方法,具体的你要如何从RecvMsg4Jni得到这个回调,你可以写接口或者广播等都可以,
*/
private void sendImsgQueryRepaly(String sip){
dxml info = new dxml();
info.setText(Constant.K_EVENT_URL, Constant.V_URL_GET_DEV_REPALY);
info.setText(Constant.K_EVENT, Constant.V_REDIAL_REQ);
info.setText(Constant.K_UNLOCK_APP, Constant.V_TALK_REQ);
info.setText(Constant.K_UNLOCK_SIP, SIP);//这个是手机的
talk.sendImsg(devSip, info.toString());//这个是设备的
}
private BroadRcvRegStatus receiver = null;
private void registerSipRegStateReceiver() {
if (receiver != null){
return;
}
IntentFilter iFilter = new IntentFilter();
iFilter.addAction(Constant.callConnectedAction);
receiver = new BroadRcvRegStatus();
registerReceiver(receiver, iFilter);
}
private class BroadRcvRegStatus extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
startActivity(new Intent(MainActivity.this,VideoActivity.class));
}
}
private void openService() {
// ***************************************************************************
if(!CommonUtils.isServiceRunning(MainActivity.this,"com.dnake.speakdemo.service.SmarthomeService")){
if (serviceIntent == null)
serviceIntent = new Intent(this, SmarthomeService.class);
// 启动服务
startService(serviceIntent);
}else{
}
// ***************************************************************************
}
private AsyncTask<String, String, String> mCallAsyncTask = null;
/* //监视
@JavascriptInterface
public void MonitorClick(View v){
sendMsgMonitor(devSip);
}*/
/* //开锁
@JavascriptInterface
public void sendImsgUnlock(View v){
sendImsgUnlock(devSip);//设备的sip账号,从后台拿到
}*/
/**
* 开锁发送指令
*/
@JavascriptInterface
public void sendImsgUnlock(String sipAccount) {
Toast.makeText(this,"监视",Toast.LENGTH_SHORT).show();
String time =(System.currentTimeMillis()/1000)+"";
dxml info = new dxml();
info.setText(Constant.K_EVENT_URL, Constant.V_URL_UNLOCK);
info.setText(Constant.K_UNLOCK_EVENT, Constant.V_UNLOCK_EVENT);
info.setText(Constant.K_UNLOCK_APP, Constant.V_UNLOCK_APP);
info.setText(Constant.K_UNLOCK_TIMESTAMP,time);
info.setText(Constant.K_UNLOCK_SIP,SIP);//"自己APPsip账号"
info.setText(Constant.K_UNLOCK_HOUSE,HOUSE_ID);
// send msg
talk.sendImsg(sipAccount, info.toString());
talk.request(Constant.URL_UI2JNI_UNLOCK, null);
}
/*
* 监视发送指令
* */
@JavascriptInterface
public void sendMsgMonitor(String devID) {
Toast.makeText(this,"监视",Toast.LENGTH_SHORT).show();
dxml jniMsg = new dxml();
jniMsg.setText(Constant.PARM_UI2JNI_ID, devID);
// send msg
talk.request(Constant.URL_UI2JNI_MONITOR, jniMsg.toString());
}
/*扫码开启*/
@JavascriptInterface
public void scanQRcode() {
Intent intent = new Intent(MainActivity.this, CaptureActivity.class);
startActivityForResult(intent, REQUEST_CODE);
}
/*扫码开启*/
/**
* 处理二维码扫描结果
*/
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
/**
* 处理二维码扫描结果
*/
if (requestCode == REQUEST_CODE) {
//处理扫描结果(在界面上显示)
if (null != data) {
Bundle bundle = data.getExtras();
if (bundle == null) {
return;
}
if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_SUCCESS) {
String result = bundle.getString(CodeUtils.RESULT_STRING);
Toast.makeText(this, "解析结果:" + result, Toast.LENGTH_LONG).show();
} else if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_FAILED) {
Toast.makeText(MainActivity.this, "解析二维码失败", Toast.LENGTH_LONG).show();
}
}
}
}