2011-06-14 3 views
2

전화를 걸 때 활동 선택기 메뉴를 표시하려고합니다.android에서 전화를 걸 때 활동 선택기 메뉴를 표시하는 방법은 무엇입니까?

 /* Create the Intent */ 
    final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 

    /* Fill it with Data */ 
    emailIntent.setType("plain/text"); 
    emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{"[email protected]"}); 
    emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Subject"); 
    emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Text"); 

    /* Send it off to the Activity-Chooser */ 
    this.startActivity(Intent.createChooser(emailIntent, "Send mail...")); 

을하지만 코드를 변경할 때와 같이 : 이메일을 보낼 때 코드가 나를 위해 작동 후 (실제 휴대 전화에서하는 에뮬레이터에서 작동하지 않습니다)

 Intent call = new Intent(android.content.Intent.ACTION_CALL); 
    call.setData(Uri.parse("tel:" + phoneNo)); 
    this.startActivity(Intent.createChooser(call, "Hello there...")); 

없음 활동 선택기 메뉴가 표시되지 않습니다 , 똑바로 다이얼. 나는 또한 그 메뉴에 skype를 나열하고 싶다. 너는 어떤 생각을 가지고 있니?

답변

1

다른 사람이 귀하의 previous questions 중 하나에서 답변 한대로 Intents and Filters을 읽어야합니다. 나는 당신에게 빠른 설명을 줄 것이다. Intent은 Android 애플리케이션이 등록하도록 등록 할 수있는 메시지 유형입니다. Skype가 설치되어 있지 않으면, Intent에 등록 할 수 없으므로 해당 메뉴에 나타나지 않습니다. 인데도 여전히 나타나지 않는다면 이는 Intent에 등록되지 않았 음을 의미합니다. Android Skype 앱을 모르지만 다른 질문에서 연결된 picture에서 판단하면 Intent에 등록하여 설치시 표시됩니다.

+0

정확히 내 관점입니다. 그러나 내가 알고 있듯이 skype는 분명히 호출을 처리해야하는 호출자 응용 프로그램입니다. 의도를 위해 응용 프로그램을 강제로 등록 할 수있는 방법이 있습니까? – ruben

+0

또는 타사 응용 프로그램이 어떤 의도를 처리하는지 어떻게 알 수 있습니까? – ruben

+0

그 사람이 Skype를 올바르게 설치하지 않은 경우 Skype가 해당 메뉴에 있지 않기를 원하십니까? 그리고 * 설치되어 있다면, Skype는 그 의도를 등록 할 것입니다. Skype가 설치되어 있는데도 여전히 해당 메뉴에 나타나지 않는다고 말하는 것이 아니라면? – kabuko

관련 문제