1

私の Android アプリでは、デバイスの SMS アプリが存在する場合にそれを開く関数を作成する必要があります。以下のコードがあります。

String smsText = "Some text for the sms";
Intent sendIntent = new Intent(Intent.ACTION_VIEW);
sendIntent.setData(Uri.parse("sms:"));
sendIntent.putExtra("sms_body", smsText);
this.startActivity(sendIntent);

このコードは SMS アプリを開きますが、アプリ内で Compose UI を開きます。これは、アプリを引き続き使用するには、ユーザーが SMS UI から戻る必要があることを意味します。ユーザーがホーム画面またはアプリ リストからアプリ ランチャーに移動した場合も、アプリが中断したところから再開しているだけなので、同じ状態で開きます。

これは、Android 4.3 を実行する Samsung Galaxy S4 でテストされました。

コンテキストを完全に変更して SMS アプリを開き、アプリを終了する方法はありますか? または、SMS の送信後に SMS アプリを閉じる方法はありますか?

どんな助けでも大歓迎です。この動作は私が期待したものではありませんが、おそらくそれが Android のしくみです。

** 編集 **

「アプリ内で作成 UI を開きます」 - これは、SMS アプリの作成画面が開かれることを意味します。しかし、他のコンテキストからは、それは私のアプリのように見えます. そのため、ホーム ボタンを押してデバイスのホーム画面に戻り、アプリのアイコンをクリックすると、アプリが最後にあった場所には戻りませんが、SMS 画面に戻ります。開いているすべてのアプリケーションを表示すると、SMS 画面の画像が SMS アプリの名前ではなく、アプリ名の下に表示されます。そのため、利用可能なすべてのリソースから、SMS アプリが私のアプリの名前で開いているように見えます。

4

1 に答える 1