Как перейти к другому занятию вместо темы, которую мы установили для postsplashJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Гость
 Как перейти к другому занятию вместо темы, которую мы установили для postsplash

Сообщение Гость »

Мое приложение использует API-интерфейс заставки для отображения заставки, которую я реализовал, как описано в документации, и оно работает нормально. Отображается заставка, и через определенное время она закрывается, но я хочу переместить пользователя в другое действие, а не в SplashActivity, где я добавил тему-заставку < /p>
Как и приложение, открываемое пользователем, оно проверит, вошел ли пользователь в систему или нет. Если нет, оно переместит пользователя в OnboardActivity, в противном случае оно переместится в HomeActivity, но не сможет это исправить.
После попытки после исчезновения заставки отображается SplashActivity, а затем начинается проверка, подписался ли пользователь или нет для перехода к желаемому действию ниже - мой код
public class SplashActivity расширяет AppCompatActivity { p>
@Override

Код: Выделить всё

protected void onCreate(Bundle savedInstanceState) {

SplashScreen splashScreen = SplashScreen.installSplashScreen(this);

super.onCreate(savedInstanceState);

setContentView(R.layout.splash);

FirebaseApp.initializeApp(this);

initialize();

checkMaintenanceAndRedirect();

}

private void initialize() {

auth = FirebaseAuth.getInstance();

requestQueue = Volley.newRequestQueue(this);

}

private void checkMaintenanceAndRedirect() {

StringRequest stringRequest = new StringRequest(Request.Method.GET, apiUrl,

new Response.Listener() {

@Override

public void onResponse(String response) {

try {

JSONObject jsonResponse = new JSONObject(response);

String status = jsonResponse.getString("status");

if ("off".equals(status)) {

navigateToMainteActivity();

} else {

redirectToAppropriateActivity();

}

} catch (JSONException e) {

e.printStackTrace();

navigateToMainteActivity(); // Navigate to maintenance activity as fallback

}

}

}, new Response.ErrorListener() {

@Override

public void onErrorResponse(VolleyError error) {

Toast.makeText(getApplicationContext(), "Error occurred!", Toast.LENGTH_SHORT).show();

navigateToMainteActivity(); // Navigate to maintenance activity as fallback

}

});

requestQueue.add(stringRequest);

}

private void redirectToAppropriateActivity() {

FirebaseUser currentUser = auth.getCurrentUser();

if (currentUser != null) {

navigateToHomeActivity();

} else {

navigateToOnboardActivity();

}

}
private void NavigationToHomeActivity() {

Код: Выделить всё

    Intent ii = new Intent(getApplicationContext(), HomeActivity.class);

startActivity(ii);

finish();

}

private void navigateToOnboardActivity() {

Intent ii = new Intent(getApplicationContext(), OnboardActivity.class);

startActivity(ii);

finish();

}

private void navigateToMainteActivity() {

Intent im = new Intent(getApplicationContext(), MainteActivity.class);

startActivity(im);

finish();

}


Подробнее здесь: https://stackoverflow.com/questions/784 ... postsplash
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»