android - 启动活动后登录活动崩溃
问题描述
我正在开发一个 android 项目,其中有 Login、Register、Main Activity 和 Splash Activity。因此,除了 Splash Activity 之外,所有活动都会崩溃。首先执行 Splash Activity,然后 Main Activity 崩溃。
这是飞溅活动:
public class SplashActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
Thread thread = new Thread()
{
@Override
public void run() {
try
{
sleep(5000);
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
Intent mainintent = new Intent(SplashActivity.this, LoginActivity.class);
startActivity(mainintent);
}
}
};
thread.start();
}
@Override
protected void onPause() {
super.onPause();
finish();
}
}
这是 Manifest.xml 文件
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name="com.example.connect2every1.MainActivity">
</activity>
<activity android:name="com.example.connect2every1.SplashActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Login Activity,Register Activity,Main Activity,必须要执行,主要动机是在Splash Activity 之后,必须执行Login Activity。
解决方案
您不能从工作线程更改 UI,只有主线程可以更改 UI,因此runOnUiThread
在启动活动时使用。
Thread splash=new Thread(){
public void run() {
synchronized (this) {
try {
wait(2000);
runOnUiThread(new Runnable() {
@Override
public void run() {
startActivity(new Intent(getApplicationContext(),LoginActivity.class));
finish();
}
});
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
};
splash.start();
推荐阅读
- jquery - 通过自动单击触发 NoSleep.js 不起作用
- exchange-server - 将 IP 地址添加到 SPF 记录是否安全
- javascript - 为什么我在哨兵中收到用户反馈的空白响应?
- javascript - 如何通过 JavaScript 中的人员 API 创建联系人?
- java - 使用非标准 Maven 存储库位置进行 gradle 构建
- javascript - 如何使excel将字符串放入新行
- django - Docker-Compose + Django + PostgreSQL + uwsgi + Nginx 找不到 404
- java - 使用其他方法的对象实例
- android - android - webview 网站无法正常工作
- typescript - TypeScript 参数类型推断失败