Android KitKat 4.4 행 아웃에서 SMS 보내기 의도를 처리 할 수 없음



Answers

제안 된 솔루션을 결합하여 다음은받는 사람 텍스트를 미리 설정하는 것입니다.

Intent intent;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) // Android 4.4 and up
{
    String defaultSmsPackageName = Telephony.Sms.getDefaultSmsPackage(activity);

    intent = new Intent(Intent.ACTION_SENDTO, Uri.parse("smsto:" + Uri.encode(toContact.toString())));
    intent.putExtra("sms_body", text);

    if (defaultSmsPackageName != null) // Can be null in case that there is no default, then the user would be able to choose any app that supports this intent.
    {
        intent.setPackage(defaultSmsPackageName);
    }
}
else
{
    intent = new Intent(Intent.ACTION_VIEW);
    intent.setType("vnd.android-dir/mms-sms");
    intent.putExtra("address", toContact.toString());
    intent.putExtra("sms_body", text);
}
activity.startActivity(intent);

남은 유일한 문제는 행 아웃 (Nexus 5)에 머물러 있기 때문에 SMS를 효과적으로 취소하려면 '뒤로'를 여러 번 눌러야 할 수도 있습니다.

Question

Android 4.3 (Jelly Bean)이 4.4 (KitKat) 이후 작동을 멈출 때까지 완벽하게 작동하는 SMS를 보내는 코드

나는 사용자를 위해 문자 메시지를 준비하는 중일 뿐이며 보낼 번호를 선택해야합니다.

내가 사용한 코드는 다음과 같습니다.

Intent sendIntent = new Intent(Intent.ACTION_VIEW);         
    sendIntent.setData(Uri.parse("sms:"));
    sendIntent.putExtra("sms_body", smsText);

    activity.startActivity(sendIntent);

작업이 중단 된 후 ACTION_SENDACTION_SENDTO 모두 작동하지 않았고 sendIntent.setType("vnd.android-dir/mms-sms"); 도 시도했습니다 sendIntent.setType("vnd.android-dir/mms-sms"); , 다시 아무것도 작동하지 않았다.

내가 대답 1대답 2 에서 여러 답변을 찾았지만, 두 가지 대답은 내가 가진 요구 사항을 다루는되지 않습니다.

내가 무엇을하고 싶은지 :

  • 보내기 의도를 제공하는 모든 앱이 아닌 SMS 앱으로 만 SMS 보내기
  • 사용자를위한 텍스트 준비
  • 사용자가 메시지를 보낼 전화 번호를 선택하도록합니다.

중재자의 경우 : 질문이 중복 된 질문이 아니기 때문에 똑같은 질문을하지 않습니다. 여기에 전화 번호가없는 문자를 보내야하며 질문과 답변 중 아무 것도 응답하지 않습니다.




Related