2010-07-07 4 views
2

안드로이드는 기본 OS 및 패키지에 많은 인 텐트를 제공합니다. 인 텐트로 전송할 인수 (즉, 데이터, 추가 기능 등)는 어떻게 결정합니까?Android 인 텐트의 예상 인수를 결정하는 방법은 무엇입니까?

String pkgname = "com.example.application"; // whatever the app is 

Intent it = new Intent(Intent.ACTION_VIEW); 
it.setClassName("com.android.settings", "com.android.settings.InstalledAppDetails"); 
it.putExtra("com.android.settings.ApplicationPkgName", pkgname); 
it.putExtra("pkg", pkgname); 

문제는 난 단지 내가 다른 사람의 소스를 훔쳐 때문에 그 Extra의 잘 것을 알고 있다는 것입니다 : 예를 들어, 당신이 의도를 사용하여 특정 응용 프로그램에 대한 응용 프로그램 정보를 표시하도록 설정 응용 프로그램을 열 수 있습니다 . 내가 어떻게 혼자서 그것을 발견 할 수 있었 을까?

심지어 Action으로 AndroidManifext.xml에있는 ClassName을 사용할 수 있지만 "pkg"를 가리키는 아무 것도 보지 않고 있습니다. 이는 분명히 적절한 Extra입니다. Froyo와 함께 사용하려면 이전 버전보다 길어집니다.

+0

당신의 질문 때문에 내가 어떻게 투표를 할 수 있었 을까? 인 텐트 사용에 관해 동일한 질문이 있습니다. –

답변

2

어떻게 인수가 ( 인지, 데이터, 기타 등)을 의도로 보낼 결정합니까?

설명되지 않은 경우 사용하지 마십시오. 표시하는 코드는 매우 약해서 새로운 Android 버전에서는 작동하지 않을 수 있습니다. 장치 제조업체가 설정 응용 프로그램의 해당 부분을 (어떤 이상한 이유로) 결정할 경우 특정 장치에서 오류가 발생할 수도 있습니다.

+0

좋은 충고,하지만 그것을 무시하고 싶다고 가정한다면, 그렇지 않으면 불가능한 것처럼 보이기 위해 무엇을 할 것인가? 나는 무엇을 찾고 있어야 하는가? – wfaulk

+0

또한 AndroidManifest.xml에 나와 있지 않습니까? – wfaulk

+1

"또한 AndroidManifest.xml에 나와 있지 않습니까? 문서를 의미합니까?" 당연히 아니지. 매니페스트에 물건을 넣는 것은 Android의 기술적 요구 사항입니다. 해당 애플리케이션의 제작자가 이러한 것들을 사용하는 임의의 타사 앱에 관심이 있다는 것을 의미하지는 않습니다. 문서화는 응용 프로그램 개발자가 지원되는 API를 다른 사람들에게 알려주는 방법입니다. 개발자가 직접 활동을 호출하기를 원하면 개발자가 방법을 알려줍니다. Android 앱 (예 : 설정)의 경우 개발자 문서는 소스 코드와 매우 다릅니다. – CommonsWare

관련 문제