0

그래서이 응용 프로그램을 만들고 있어요. 탐색 창을 사용하여 주요 활동에 연결된 여러 조각이 포함되어 있습니다. 조각의 XML 레이아웃 중 하나에는 클릭하면 전자 메일이 전송되는 버튼이 있습니다. 나는 이것을 에뮬레이터에서 테스트하고있다. 그것은 다른 애플 리케이션에서 작동하지만,이 없습니다. 여기에 코드 : 그것은 축배를 표시에 유지ACTION_SENDTO 의도가 탐색 창 조각에서 작동하지 않습니다.

public class AboutPage extends Fragment { 
    public AboutPage() { 
     // Required empty public constructor 
    } 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     // Inflate the layout for this fragment 
     View view = inflater.inflate(R.layout.fragment_about_page, container, false); 
     Button contactButton = (Button) view.findViewById(R.id.contact_button); 
     contactButton.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Intent intent = new Intent(Intent.ACTION_SENDTO); 
       intent.setData(Uri.parse("mailto:[email protected]")); 
       intent.putExtra(intent.EXTRA_SUBJECT, "Primus Suggestion or Issue"); 
       intent.setType("plain/text"); 
       if (intent.resolveActivity(getActivity().getPackageManager()) != null) { 
        getActivity().startActivity(Intent.createChooser(intent, "Send Email using:")); 
       } else { 
         Toast.makeText(getActivity(), "You don't have any email apps to contact us.", Toast.LENGTH_SHORT).show(); 
       } 
      } 
     }); 

     return view; 
    } 
} 

, 아직는 의도가 주요 활동으로 생성 된 다른 응용 프로그램에서 작동합니다. 아래

답변

0

희망은 당신을 위해 작동 : -

Intent intent = new Intent(Intent.ACTION_SEND); 
    intent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{"[email protected]"}); 
    intent.putExtra(intent.EXTRA_SUBJECT, "Primus Suggestion or Issue"); 
    intent.setType("text/plain"); 
    if (intent.resolveActivity(getActivity().getPackageManager()) != null) { 
    getActivity().startActivity(Intent.createChooser(intent, "Send Email using:")); 
    } 
    else { 
    Toast.makeText(getActivity(), "You don't have any email apps to contact us.", Toast.LENGTH_SHORT).show(); 
    } 
+0

그것은 작동하고, 그 주셔서 감사합니다,하지만 내 원래의 코드가 작동하지 않은 이유를 알 수 있습니까? –

+0

이 [link] (https://developer.android.com/reference/android/content/Intent.html#ACTION_SENDTO) 의 'ACTION_SEND' 및'ACTIN_SENDTO '의 차이점을 확인하십시오. "intent.resolveActivity (getActivity(). getPackageManager())! = null "은 ACTION_SENDTO의 경우 항상 null이므로 코드가 작동하지 않습니다. –

관련 문제