Как запустить другое действие в качестве основного и запуска после развертывания приложения на устройстве - PullRequest
2 голосов
/ 02 марта 2012

Я занимаюсь разработкой приложения. Мое требование состоит в том, чтобы в первый раз, когда я устанавливаю приложение на устройство, оно должно было начать основную и запускающую деятельность. После этого, когда я запускаю / открываю свое приложение на стороне устройства, оно должно загружать другое действие вместо основного и запуска. Если приложение деинсталлируется и устанавливается снова, оно должно снова загрузить основной и модуль запуска. пожалуйста, кто-нибудь может поделиться решением по таким темам.

Заранее спасибо.

Ответы [ 5 ]

4 голосов
/ 02 марта 2012

Вы можете сделать это:

Скажите, что действие A - это действие, которое вы хотите запустить только в первый раз, а действие B - это действие, которое система запустит после первого раза.

В вашем манифесте поместите Активность B в качестве вашей активности запуска. Затем внутри или лучше OnResume деятельности B положить следующее:

    @Override
protected void onResume() {
    super.onResume();

       if(firstLaunch()){
           startActivity(new Intent(this, A.class));
           finish();
       }else{
         //Do your normal stuff
       }

    }


    private boolean firstLaunch(){
         SharedPreferences prefs = getSharedPreferences(
            "Preferences",
            Context.MODE_PRIVATE);
         return prefs.getBoolean("firstLaunch",false);
    }

Затем в своем действии A обязательно установите флажок в ваших предпочтениях, чтобы указать, что ваше приложение запускалось более одного раза. Итак, где-то внутри упражнения А поместите это:

   private void setFirsLaunchFlag(){
         SharedPreferences prefs = getSharedPreferences(
            "Preferences",
            Context.MODE_PRIVATE);
         SharedPreferences.Editor edit = prefs.edit();
         edit.putBoolean("firstLaunch",true);
         edit.commit();
   }
2 голосов
/ 02 марта 2012

Вы можете использовать значение bool следующим образом:

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

2. Проверьте это значение bool в своей активности запуска, и если оно истинно, запустите желаемое действие, а если оно ложное, сделайте его истинным и сохраните (в первый раз).

Примечание: Вы можете использовать SharedPreference для значения bool.

0 голосов
/ 02 марта 2012

просто создайте целочисленную или булеву переменную общего предпочтения. Когда приложение запускается в первый раз, отобразите действие, которое вы хотите отобразить только 1'c, в то же время измените значение этой переменной общего предпочтения. Каждое времяс того момента, когда приложение только запускается, вы должны проверить это значение и, если оно не является значением по умолчанию, загрузить другое действие в main и launcher.

Вот ссылка LINK , не совсеможидаемый ответ ... но надеюсь, что это поможет

0 голосов
/ 02 марта 2012

Насколько я знаю, у вас нет шансов начать другое действие.Вместо этого вы можете следить за вашей установкой внутри SharedPreferences и запускать другой код на основе этого.

0 голосов
/ 02 марта 2012

Я думаю, что это может помочь вам:

Если приложение запускается впервые android.intent.action.PACKAGE_FIRST_LAUNCH будет запущена трансляция.

После получения этой широковещательной рассылки сохраните флаг в общих настройках, чтобы приложение запускалось впервые.

В качестве активности для запуска можно использовать заставку и в соответствии с этим флагом перенаправлять ее на одноразовое или замещающее действие.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...