2013-08-18 6 views
0

저는 간단한 전자 책 리더 앱을 만들고 있으며 많은 경우에 활동을 호출 할 수 있습니다.활동 호출 사례 구분 : 다른 활동/다른 패키지/시스템별

내 다른 활동에서

  1. 의 경우에 그 기원 조치를 알고 호출자 활동을 구분하고 싶습니다이 쉽게 활동을 호출하는 StartActivityForResult에 의해 해결 될 수 있습니다.
  2. 공유 작업 후 다른 버튼을 클릭하여 앱을 클릭하면 공유됩니다 ("휙, 공유 버튼을 클릭하지 못했습니다.").
  3. 사용자의 멀티 태스킹 옵션으로 전환되었습니다.
  4. 시작 화면에서 사용자가 클릭하면 안드로이드 매니페스트의 MAIN 엔트리 포인트로 알 수 있습니다.

위의 사례를 알고 계십니까?

답변

0

나는 어떤 작업이 필요한 이유를 생각하지만 ...

1.From 내 다른 활동이없는이 쉽게 활동을 호출하는으로 startActivityForResult에 의해 해결 될 수 있습니다.

네, 제 3 자 코드가 startActivityForResult(...)을 사용할 것이라는 점을 보증 할 수 없으므로, Activity이 자신의 것이라면 가능합니다. 그러나 다른 경우에는 getCallingPackage()getCallingActivity()을 사용할 수 있습니다.

2. 공유 작업 후 "공유 버튼을 놓친 다음 다시 누릅니다.") 후 다른 패키지 앱에서 뒤로 버튼 클릭하십시오.

사용자가 뒤로 버튼을 누르면 Activity이 "호출"되지 않고 단순히 재개되거나 다시 시작됩니다. Activity이 처음 생성 된 경우에도 정상적인 Activity 라이프 사이클 메소드 (및 onResume())가 항상 호출되므로이 문제가 발생했는지 확인할 방법이 없습니다.

3. 사용자의 멀티 태스킹 옵션으로 전환됩니다.

"최근"앱보기를 사용하는 것을 의미하는 경우 위의 2.에 대한 답변에도 동일하게 적용됩니다.

4. 시작 화면에서 사용자 클릭으로 호출 됨 : 이것은 Android 매니페스트의 MAIN 엔트리 포인트에서 알 수 있습니다.당신이 Activity가 단순히 어떤 이유로 중지 된 경우, 그것은 단순히 당신이 사용하는 발사 모드에 따라 다시 시작할 수 있지만이 경우 onCreate()에서

가 호출됩니다.

요컨대, 귀하의 Activity이 어떻게 활성화되는지에 대한 정확한 정보를 수집하는 것을 볼 수 없습니다.

0

나는 안드로이드에서 너무 새로운 사람이므로 위의 질문에 대한 실제 방법에 대해 너무 확신하지 않습니다. 하지만 내 지식 중 가장 좋은 것은 ... 뒤로 버튼으로 불리고 사용자의 멀티 태스킹으로 전환하면 활동이 pause 상태가됩니다.

귀하는 귀하의 활동에서 "onPause" 방법으로 액세스 할 수 있습니다.

+0

답변 해 주셔서 감사합니다. 'onPause'는 포스트로드 이벤트의 경우입니다 만,'onCreate' 또는'onResume' 순간에 케이스를 구별하고 싶습니다. – Youngjae