package org.zywx.wbpalmstar.engine; import android.app.Activity; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.SharedPreferences; import android.graphics.Color; import android.os.Bundle; import android.os.Handler; import android.support.v4.content.LocalBroadcastManager; import android.util.TypedValue; import android.view.Gravity; import android.view.WindowManager; import android.widget.FrameLayout; import android.widget.TextView; import org.zywx.wbpalmstar.base.BDebug; import org.zywx.wbpalmstar.base.BUtility; import org.zywx.wbpalmstar.base.util.ConfigXmlUtil; import org.zywx.wbpalmstar.engine.external.Compat; import org.zywx.wbpalmstar.engine.universalex.EUExUtil; /** * Created by yanlongtao on 2015/4/21 0021. */ public class TempActivity extends Activity { public static final String BROADCAST_ACTION = "com.appcan.close"; private BroadcastReceiver mBroadcastReceiver; Handler mHandler = new Handler() { }; private boolean isTemp = false; private long showTime = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); FrameLayout rootLayout = new FrameLayout(this); FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT); rootLayout.setLayoutParams(layoutParams); ConfigXmlUtil.setStatusBarColorWithAddView(this, Color.TRANSPARENT); if (EBrowserActivity.develop) { TextView worn = new TextView(this); worn.setText(EUExUtil.getString("platform_only_test")); worn.setTextColor(0xffff0000); worn.setTextSize(TypedValue.COMPLEX_UNIT_SP, 18); FrameLayout.LayoutParams wornPa = new FrameLayout.LayoutParams( Compat.FILL, Compat.WRAP); wornPa.gravity = Gravity.TOP; wornPa.leftMargin = 10; wornPa.topMargin = 60; worn.setLayoutParams(wornPa); rootLayout.addView(worn); } setContentView(rootLayout); showTime = System.currentTimeMillis(); try { Intent intent = getIntent(); if (intent != null) { isTemp = intent.getBooleanExtra("isTemp", false); } } catch (Exception exception) { } mBroadcastReceiver = new MyBroadcastReceiver(); IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(BROADCAST_ACTION); LocalBroadcastManager.getInstance(this).registerReceiver( mBroadcastReceiver, intentFilter); try { getWindow().clearFlags( WindowManager.LayoutParams.class.getField( "FLAG_NEEDS_MENU_KEY").getInt(null)); } catch (Exception e) { } } @Override public void onBackPressed() { } @Override protected void onDestroy() { super.onDestroy(); LocalBroadcastManager.getInstance(this).unregisterReceiver( mBroadcastReceiver); } private class MyBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { SharedPreferences sp = getSharedPreferences( BUtility.m_loadingImageSp, Context.MODE_PRIVATE); long loadingTime = sp.getLong(BUtility.m_loadingImageTime, 0); long time = System.currentTimeMillis() - showTime; //若前端同时调用了uexWidget.closeLoading()、uexWindow.setLoadingImagePath(),则启动图显示时间以最长的为准; if (loadingTime > time) { mHandler.postDelayed(new Runnable() { @Override public void run() { finish(); overridePendingTransition(EUExUtil.getResAnimID("platform_myspace_fade_in_anim"), EUExUtil.getResAnimID("platform_myspace_fade_out_anim")); } }, loadingTime - time); BDebug.d("loading delay ",loadingTime-time); } else { finish(); overridePendingTransition(EUExUtil.getResAnimID("platform_myspace_fade_in_anim"), EUExUtil.getResAnimID("platform_myspace_fade_out_anim")); } } } }