Начало деятельности через намерения - PullRequest
0 голосов
/ 09 августа 2010

Я реализую простое приложение.Мне нужно начать деятельность, основанную на состоянии деятельности.Давайте возьмем, я использую кнопку, чтобы начать деятельность.1. Если действие не запущено, мне нужно запустить действие XYZ.2. Если действие XYZ находится в фокусе, то мне нужно закрыть действие нажатием кнопки.3. Если XYZ-активность не находится в состоянии фокуса (например, onPause), тогда мне нужно изменить состояние кнопки.

Не могли бы вы помочь мне с флагами, которые мне нужны для запуска намерения.Можно ли получить состояние активности до того, как я начну эту деятельность?

Ответы [ 3 ]

0 голосов
/ 09 августа 2010

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

0 голосов
/ 09 апреля 2011

Во-первых, создайте MAIN.java занятие, в котором будут размещаться ваши другие занятия. Как и другие говорили, вам придется кодировать кнопку, которая захватывает вас, потому что это должно быть здравым смыслом, если вы пытаетесь разобраться с намерениями. Когда вы соберете это вместе, вы можете начать новое действие через намерение, например, так:

// allocate new intent, initialized to the activity you wish to launch
Intent i = new Intent(this, ActivityToBeLaunched.class);

// put information into intent
i.putExtras("KeyName", value); // where "KeyName" is simply a reference string
                         // and 'value' can be anything from boolean - string.

// launch activity and wait for response
startActivityForResult(i, REQUEST_CODE);

Тогда в вашем классе ActivityToBeLaunched.java у вас будет создание, которое будет извлекать информацию из намерения, например:

// get intent
Intent i = this.getIntent();

// get information from intent
booleanVariable = i.getExtras().getBoolean("KeyName");

Когда вы закончите с этим заданием, просто используйте;

   // create intent
   Intent i = new Intent();

   // put information into result to send back to parent
   i.putExtras("KeyName", value);

   // set the result to be returned
   setResult(i, ResultCode);

    // finish child, return to parent with results
    finish();
0 голосов
/ 09 августа 2010

Попробуйте это

Intent intent = new Intent (currentActivity.this, callActivity.class); startActivity (намерение);

Вы можете использовать намерение, как это, чтобы вызвать деятельность

...