如题:我看了很多办法都没有解决,原因呢,应该是目标Activity初始化最先加载的windowFrame,并没有首先加载到布局,因此我只是在目标activity主题里面加了一行:
<item name="android:windowFrame">@color/transparent</item>
——————————分割线—————————–
2016年8月17日16:23:56
上面的情况在某些机子上面还是会出现黑屏现象,然后又改了一阵,现在已经解决:
context.startActivity(new Intent( mActivity, MainActivity.class));
mActivity.finish();
if(mActivity instanceof LoginActivity){
((LoginActivity) mActivity).goMain();
mActivity.finish();
}else {
ToastUtil.defaultToast(context.getApplicationContext(),"程序出错了");
}
以上两种方法都会黑屏,有的在三星5.0.2上面比较严重,这样写又不会黑屏,唉:
Intent intent=new Intent(MyApplication.getInstance(),MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
MyApplication.getInstance().startActivity(intent);
——————2016年8月18日15:47:14——————-
跳转黑屏主要是目标activity或者Fragment还没有加载完成,activity就finish掉了,也可以在onPause()方法中写一个线程,停止3s钟再结束当前activity或许想过更好,当然在onPasuse()或者是onStop()中都可以吧
@Override
public void onPause() {
super.onPause();
try {
new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}).start();
finish();
}catch (Exception e){
e.printStackTrace();
}
}
或者:
protected void onStop() {
super.onStop();
finish();//避免登陆成功之后跳转黑屏
}