2012-09-05 3 views
1

배경 : 다른 앱에서 인 텐트를 사용해야하는 앱이 있습니다. 이 앱이 의도가 필요할 때 설치되지 않으면 다운로드하여 설치하려고합니다.다른 앱에서 앱을 설치 한 다음 앱을 열 때 즉시 앱의 인 텐트를 시작할 수 있습니까?

질문 : 다운로드 한 앱을 설치 한 직후에 열면 첫 번째 앱이 정상적으로 열지 않고 특정 의도를 열어야합니다. 아래 이미지를 참조하십시오.

사용할 수있는 옵션은 무엇입니까? 일반적인 패턴이 있습니까? 미리 감사드립니다.

enter image description here 다운로드 한 응용 프로그램이 즉시 설치 한 후 (사용자가) 열려 있으면

답변

2

, 나는 처음 응용 프로그램 대신 정상으로 여는 필요가있는 특정 의도를 열 필요합니다.

엄밀히 말하면 가능하지 않습니다. 사용자가 Open을 누르는 것을 막을 수있는 것은 아무것도 없으며 정상적으로 작동합니다. 변경할 수 없습니다.

"Monkey Trampoline"앱의 저자 인 경우 "동물 올림픽"에서 설치 한 후 열리 며 다양한 해킹을 시도 할 수 있습니다. 논리에 따라 (사용자 지정 끈적 거리는 방송을 사용하고 두 번째 응용 프로그램에서 첫 번째 응용 프로그램에 "Io, I do special?

사용자가 완료 또는 열기 (또는 HOME 또는 BACK 등)를 클릭하기 전에 ACTION_PACKAGE_ADDED이 브로드 캐스팅되는 것으로 생각할 수도 있습니다. 이 경우 해당 브로드 캐스트를 청취하고 방금 설치 한 앱이시 미어 공중제비와 관련되어 있으며 startActivity()으로 전화를 걸 수 있음을 알 수 있습니다. 갑자기 설치 과정에서이 새로운 응용 프로그램으로 전송되는 한 사용자에게 조금 불편할 것입니다. ACTION_PACKAGE_ADDED의 정확한 타이밍은 문서화되어 있지 않기 때문에 마일리지가 다를 수 있습니다 (예 : 방송이 앱에 전달되기 전에 사용자가 계속해서 열기를 누를 수 있음).

+0

여기에 잠재적 인 도용에 대해 죄송합니다. 마크,하지만 비슷한 질문이 있습니다. startActivity (새로운 의도 (Intent.ACTION_VIEW, Uri.parse ("market : // search? q = pname : com.package.name")))'로 시장 조사를 통해 설치를 시작할 수 있음을 알고 있습니다. 잠재적 인 취소 클릭을들을 수 있도록 패키지 이름으로 설치 대화 상자에서 호출 할 수있는 방법이 있습니까? –

+0

@peter_budo : 죄송합니다. 질문을 이해할 수 없습니다. – CommonsWare

+0

내 응용 프로그램에 com.evernote.skitch가 필요하므로 의도적으로 이미지를 보내고 주석을 시작할 수 있습니다. Skitch가 빠진 경우 그러나 이것은 실패합니다. 나는 PackageManager를 사용하여 앱이 존재하지 않는다면 현재의 의도가 아닌지를 확인하지만, 이는 열린 시장 검색 결과에서 설치하지 않는 사용자를위한 공간을 남겨 둡니다. 그래서 "설치"대화 상자를 시작하면 취소 버튼 클릭을들을 수 있습니다. 그래서 나는이 대화 상자를 어떻게/어디에서 호출 할 것인지를 찾으려고 노력하고있다. 그것은 의미가 있습니까? –