2017-04-16 6 views
0

Meine Anwendung verwendet den folgenden Code ein Standard-SMS-Anwendung von der MainActivity für den Aufruf:Xamarin.Android: wie man die Hauptanwendung von SMS-Anwendung zurückzukehren

 if (Build.VERSION.SdkInt >= BuildVersionCodes.Kitkat) 
     { 
      string defaultSmsPackageName = Telephony.Sms.GetDefaultSmsPackage(this); 
      Intent intent = new Intent(Intent.ActionMain); 
      intent.AddCategory(Intent.CategoryDefault); 
      intent.SetType("vnd.android-dir/mms-sms"); 
      if (defaultSmsPackageName != null) 
       intent.SetPackage(defaultSmsPackageName); 
      StartActivity(intent); 
     } 
     else 
     { 
      Intent intent = new Intent(Intent.ActionMain); 
      intent.AddCategory(Intent.CategoryDefault); 
      intent.SetType("vnd.android-dir/mms-sms"); 
      StartActivity(intent); 
     } 

Standard-SMS-Anwendung gestartet, aber wenn ich Zurück-Taste gedrückt Ich schließe nur das Anwendungsfenster oder kehre zum MainActivity-Fenster zurück. Kann mir jemand erklären, wo ich Fehler gemacht habe?

Antwort

0

Ich habe Ihren Code nicht funktioniert, ich denke, es funktioniert nur mit einer Art von Messaging-App, die Sie haben. Ich würde vorschlagen, diese Art von Code mithilfe von SMS-Anwendung (Mehr Diskussion darüber hier: Sending SMS via an Intent and know if the SMS has been sent or not): aufzurufen

Intent intent = new Intent(Intent.ActionView); 
intent.SetData(Android.Net.Uri.Parse("smsto:" + phoneNumber)); 
intent.PutExtra("address", phoneNumber); 
intent.PutExtra("sms_body", messageBody); 
intent.PutExtra("exit_on_sent", true); 
StartActivity(intent); 

Mit diesem Code der Zurück-Taste sofort in der SMS-Anwendung drückt, wird Ihre Anwendung wieder öffnen. Aber wenn der Benutzer etwas anderes in der SMS-Anwendung tut, ist meine Erfahrung, dass es nicht zu Ihrer Anwendung zurückgehen wird. Ich glaube nicht, dass Sie eine andere Anwendung zwingen können, immer zu Ihrer Anwendung zurückzukehren. Wenn das für Sie nicht akzeptabel ist, würde ich vorschlagen, die SMS direkt von Ihrer Bewerbung zu senden.

+0

@hamalaviv, ist mein Ziel, eingehende SMS durch Hände zu löschen, dann zu meiner Anwendung zurückzukehren. Mein Code funktioniert ordnungsgemäß unter Android 4.0.9, funktioniert aber nicht unter Android 6.0 – Hermann

Verwandte Themen