2014-11-23 4 views
1

Android에서 인 텐트를 A 액티비티의 문자열 정보와 함께 전달하고 다른 앱의 일부인 다른 액티비티 B로 전달하는 방법이 있는지 알아야합니다. 사실 나는 B가 즉시 시작되는 것을 원하지 않는다. 나중에 메뉴에서 실행기 아이콘을 클릭하여 시작할 때, 의도를 이해하고 UI를 업데이트해야한다. 그것이 가능하다면 나는 그것을하는 방법.의도를 전달하지만 즉시 활동을 시작하지 않는 방법

+0

내가 pendingIntent를 사용했지만, 즉시 응용 프로그램 B를 시작 ... – Salvo

+0

은 어떻게 활동 B를 시작 하시겠습니까? 일부 콜백 함수? 시간제 노동자? 수동으로 – skywall

+0

을 입력하십시오. – Salvo

답변

1

startActivity를 통해 인 텐트를 보내면 작업이 시작됩니다. 오히려 추가 출시를위한 정보를 유지하려는 경우 :

적절한 방법은 sharedpreferences를 사용하는 것입니다. 당신이 활동에있을 때

  • 된 SharedPreferences에 데이터를 저장할
  • 앱을 다시 실행하면 모든 데이터가있는 경우 데이터가있는 경우, 환경 설정을 확인 단순히 그것을 얻을 및 활동 B를 시작하거나 취 당신이 좋아하는 행동.

Activity B의 의도에 대한 정적 팩토리 메서드를 만들면 단순히 ActivityB가 누가 호출했는지에 관계없이 ActivityB가 해당 의도를 갖게됩니다.

//ActivityB 
public static Intent newIntent(Contex context){ 
    Intent intent = new Intent(contenxt, ActivityB.class); 

    // fill the intent from the shared preferences if there is any 

    return intent; 
} 
+0

사실 앱 B가 앱 B를 시작하기로 결정했을 때만 앱 B가 인 텐트를 만들길 원하지만, 앱 B가 인 텐트로 가져 오면 수동으로 앱 B를 시작하려고합니다. 앱 A에서 앱 B를 시작하고 싶지 않습니다. 앱 A가 데이터를 제공하려는 경우 어떻게 할 것이라고 제안합니까? – Salvo

+0

어쩌면 보류중인 의도를 어떤 방식으로 사용해도 작동할까요? 가능한 경우 어떻게 할 수 있는지 알아 내려고 노력했습니다. – Salvo

+0

ActivityB에 대한 의도를 작성하는 동안 의도를 채울 수 있으며 답변을 업데이트했습니다. –

관련 문제