2017-12-07 10 views
0

나는 이것을 찾으면서 이것에 대해 많은 스레드를 발견했습니다. 그러나 일은 나를 위해 일하지 않습니다. "exit_on_sent"설정을 시도하고 startAcitivityForResult를 사용하여 시도했습니다. 다음은 시도한 코드입니다의도를 사용하여 SMS를 보낸 후 내 응용 프로그램으로 돌아 가기

Intent sendIntent = new Intent(Intent.ACTION_VIEW); 
sendIntent.setData(Uri.parse("smsto:" + phoneNumbers)); // phoneNumbers is a list of phone numbers to which i need to send messages at the same time 
sendIntent.putExtra("sms_body", context.getResources().getString(R.string.message_body)); 
sendIntent.putExtra("exit_on_sent", true); 
context.startActivity(sendIntent); 
+1

먼저 [문서] (https://developer.android.com/guide/components/intents-common.html#Messaging)에서 다루는대로 ACTION_SENDTO를 사용하십시오. 둘째, ** 자세히 설명해주십시오 ** "나를 위해 일하지 않는 것"이란 것을 의미합니다. – CommonsWare

+0

답장을 보내 주셔서 감사합니다. 귀하의 제안을 시도하고 ACTION_VIEW 대신 ACTION_SENDTO를 사용했지만 내 문제는 메시지를 보낸 후에 내 응용 프로그램이 의도 한 곳에서 다시 시작하지 않는다는 것입니다. 메시징 응용 프로그램은 메시지를 보낸 후에도 볼 수 있습니다. 내 요구 사항은 메시지를 보낸 후 내 응용 프로그램으로 돌아가는 것입니다. NB : 사용자 상호 작용으로 메시지를 보내고 싶습니다. 또한 한 번에 여러 사람에게 메시지를 보내려고합니다. – Rino

답변

1

내 요구 사항은 메시지를 전송 한 후 다시 내 응용 프로그램을 이동하는 것입니다.

당신이 ACTION_SENDTO를 사용

, 또는 ACTION_VIEW 또는 기타 Intent 행동, 당신은 뭔가를 갈 타사 응용 프로그램을 실행하고 있습니다. 이 경우 타사 앱을 시작하여 SMS 메시지를 보냅니다.

약 10,000 개의 기기 모델에 20 억 개의 안드로이드 기기가 사용되고 있습니다. 해당 장치 모델을 통해 사전 설치된 다른 SMS 클라이언트가 수십 개 (수백 개는 아니지만)있을 것입니다. 사용자는 Play 스토어 또는 다른 앱 배포 채널에서 다른 SMS 클라이언트를 설치할 수도 있습니다.

수백 명의 SMS 클라이언트 중 하나가 앱을 시작할 때 어떤 현상이 발생합니까?이 아닌 해당 SMS 클라이언트의 개발자가됩니다.

전체 사용자 환경을 제어하려면 SmsManager을 사용하여 직접 SMS 메시지를 보내십시오 (Ankit pointed out). 사용자의 기본 SMS 클라이언트를 사용하려면 ACTION_SENDTO을 사용하십시오. 그러나 그 시점에서 발생하는 일은 SMS 클라이언트 개발자와 사용자가 아닌 사용자가 결정합니다.

+0

설명해 주셔서 감사합니다. 하지만 sendIntent.setData (Smsto : 5375; 894959; 4545433; "))를 통해 수행하는 것과 같이 SmsManager를 사용하면서 반복없이 단일 샷으로 여러 사람에게 메시지를 보낼 수 있습니까? – Rino

+0

@Rino : "SmsManager를 사용하는 동안 한 번에 여러 사람에게 메시지를 보낼 수 있습니까?"- 아니요. 왜 네가 두려움을 두려워하는지 모르겠다. – CommonsWare

+0

불행히도 나는 메시지를 보내거나 취소하고 메시지를 여러 사람에게 보내야하기 때문에 선택적인 메시지 만 보내고 싶다. – Rino

1

SMS 관리자를 사용하여 SMS를 자동으로 보낼 수 있습니다. 다음과 같이

 try { 

      String ph="1234568790"; 
      String msg="Hello"; 

      SmsManager smsManager = SmsManager.getDefault(); 
      smsManager.sendTextMessage(ph, null,msg, null, null); 
      Toast.makeText(MainActivity.this, "Message Sent", 
        Toast.LENGTH_LONG).show(); 
     } 
     catch (Exception e) 
     { 
      Toast.makeText(MainActivity.this, "Message not Sent", 
        Toast.LENGTH_LONG).show(); 
     } 
+1

No..i 사용자 상호 작용으로 메시지를 보내고 싶습니다. 또한 한 번에 여러 사람에게 메시지를 보내려고합니다. – Rino