2012-10-01 3 views
0

나는 (이 그냥 코드입니다) 내 2.3.3 응용 프로그램에서 다음 만들었습니다. 2.3.3 SDK에서 실행되는 모든 Android 기기에 기본 이메일 클라이언트가 있습니까?

 else if(intentName.contains("Email")) 
     { 
      System.out.println(); 
      System.out.println("Button["+ i + "] intent name contains : EMAIL"); 
      System.out.println("Button["+ i + "] intent EMAIL contains: " + parameter); 

      send_email = new Intent(Intent.ACTION_SEND); 
      send_email.setType("message/rfc822"); 
      send_email.putExtra(Intent.EXTRA_EMAIL, parameter); 
      send_email.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_MULTIPLE_TASK); 
      send_email.putExtra(Intent.EXTRA_SUBJECT, ""); 
      send_email.putExtra(Intent.EXTRA_TEXT,""); 

      onClick[i] = new OnClickListener() 
      { 
      public void onClick(View arg0) 
      { 
       try 
       { 
        con.startActivity(send_email); 
       } 
       catch(ActivityNotFoundException ex) 
       { 
        Toast.makeText(con, "No Email Clients Installed", Toast.LENGTH_LONG).show(); 
       } 
      }}; 
     } 

나는 에뮬레이터에서이 프로그램을 실행할 때 - 나는 토스트를 얻을 - "어떤 이메일 클라이언트가 설치되어 있지", 에뮬레이터에는 이메일 클라이언트가 없기 때문에 완벽하게 정상적으로이다. 그러나 그것은 내 휴대 전화에 기본 이메일 클라이언트와 Gmail을 가지고 있기 때문에 예상대로 내 장치에서 잘 작동합니다.

그러나 이후 나는 안드로이드 2.3.3 +에 대한 개발 중이 야
안드로이드 2.3.3 안드로이드 장치를 마십시오. 기본 이메일 클라이언트가 있으십니까? 그렇다면 현재 기능을 유지하고 내 클라이언트를 만들 필요가 없습니다.

^내 원래의 질문이었다, 그러나 지금 물어 의미 -I 에뮬레이터에보고 한 후 그 :

2.3.3 SDK를 가진 모든 안드로이드 장치는 이메일 클라이언트 옵션을 설정해야합니까?

도움 주셔서 감사합니다.

+0

에뮬레이터를 한 번 더 살펴보면 이메일 옵션에서 이메일 클라이언트를 설정할 수 있음을 알 수 있습니다. 나는 이것을보고 약간 질문을 수정했다. – ryvianstyron

+0

짧은 대답 : 아니오. –

답변

2

모든 기기가 특정 안드로이드 빌드를 실행하는 기기에는 이메일 클라이언트가 있음을 보장하는 전혀 다른 방법이 있습니다. 오픈 소스 빌드 (이메일 앱)의 일부이지만 누군가가 앱을 맞춤 설정하지 않고 앱을 삭제하지 않았다는 의미는 아닙니다. 그곳에 있다고 가정하는 것이 안전 할 수도 있지만 실제로해야 할 일은 정상적으로 실패하고 앱에 전자 메일 앱이 필요하다고 말하거나 (해당되는 경우) 전자 메일 앱이 없기 때문에이 기능을 사용할 수 없다는 오류를 사용자에게 표시하는 것입니다. 선물. 또 다른 옵션은 시장에서 앱을 다운로드 할 수있는 링크를 제공하는 것입니다.

사이드 노트 : 실제로 에뮬레이터에는 전자 메일 앱이 있으며 message/rfc822 인 텐트를 처리하도록 구성되지 않았을 수 있습니다.

+0

정상적으로 실패하도록 제안 해 주셔서 감사합니다! – ryvianstyron