本文主要是介绍魔改MUI离线打包app解决拔插扫描枪重启app问题及指定App的mainactivity,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
MUI这套H5应用框架非常值得肯定, 但也许它的应用少有涉及工业,activity一旦发生usb外接输入设备(如扫描枪)的排插就会导致重启, 这对于用家来讲是个不好的体现, 这个问题我已经在dcloud上反映过, https://ask.dcloud.net.cn/question/81362, 后来在群里有个小哥可能认识mui公司的人才有人理会解决, 但回复说要等hbuildx版本升级才行.
为了不影响进度, 经过若干试验,发现原来的主Activity为PandoraEntryActivity, 那么我新建一个MyMainActivity extends它并在activity的configChanges里面加上 keyboard即可:
android:configChanges="orientation|keyboardHidden|keyboard|navigation"
新开一个MainActivity的好处还有, 可以在app启动的时候开自己的后台服务, app结束的时候打扫现场.
原app并不是一开始就以PandoraEntryActivity为启动activity,而是由一个临时的activity启动, 根据传入的参数is_stream_app加以判断,从而启动WebAppActivity或PandoraEntryActivity,为了完美接入, 也写了一个启动activity,在原本启动PandoraEntryActivity的地方换成MyMainActivity.
/***com.freestyle.android.h5pluginCreated by rocklee , 2019/3/8***/
public class MyStartActivity extends Activity {@Overrideprotected void onCreate(Bundle var1) {super.onCreate(var1);Intent var2 = this.getIntent();boolean var3 = false;try {var3 = var2.getBooleanExtra("is_stream_app", var3);} catch (Exception var5) {var5.printStackTrace();this.finish();return;}if (var3) {var2.setClass(this, WebAppActivity.class);var2.putExtra("is_stream_app", true);} else {var2.putExtra("short_cut_class_name", PandoraEntry.class.getName());var2.setClass(this, MyMainActivity.class);}this.startActivity(var2);(new Handler()).postDelayed(new Runnable() {public void run() {MyStartActivity.this.finish();}}, 20L);}}
最后贴上MyMainActivity的代码
/***com.freestyle.android.h5pluginCreated by rocklee , 2019/11/1***/public class MyMainActivity extends PandoraEntryActivity {//private Bridge mBridge;private Handler mUIHandler;@Overrideprotected void onStart(){super.onStart();mUIHandler.postDelayed(()->{WebView.setWebContentsDebuggingEnabled(true);},3000);}private void patchApplication(){}@Overridepublic void onDestroy(){FRPlugins.quit();super.onDestroy();}@Overridepublic void onCreate(Bundle var1) {super.onCreate(var1);patchApplication();mUIHandler=new Handler(getMainLooper());//mBridge=new Bridge(this);FRPlugins.init(this);Config.init(this);}
}
这篇关于魔改MUI离线打包app解决拔插扫描枪重启app问题及指定App的mainactivity的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!