5

私が調査を行ったところ、多くの人がインテントから SMS アプリケーションを起動していることがわかりました。問題は、人々は通常、送信メッセージに対してのみこれを行う傾向があるということです。

現在、アプリに未読の SMS カウントが表示されていますが、適切な意図が機能していないようです。

試行するたびに同じ結果が得られます。アプリを起動しますが、新しいSMSの場合...

私の現在の意図は次のようになります

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("sms:"));
startActivity(intent);

その結果は次のとおりです。

Android SMS 申し込みフォーム

  • 編集:パラ - >へ
  • Escribir mensaje -> メッセージを書く
  • Enviar -> 送信

私はこれについて十分に明確であることを願っています。

質問は:

Android でインテント経由で SMS アプリケーションの受信トレイにアクセスするにはどうすればよいですか?


編集:これを複製したいだけです:

startActivity(new Intent(this, ConversationList.class));

私が取ったもの: http://www.google.com/codesearch/p?hl=en#dpDz7Q08o9c/src/com/android/mms/ui/ComposeMessageActivity.java @LINE: 2028

自分のアプリで。しかし、私はそれを機能させることができないようです。

4

3 に答える 3

2

SetClassName とは何ですか?

現在のアプリケーションの外部にあるクラスを開始するには、「フルパス」のようなものを宣言する必要があります...

デフォルトの SMS アプリケーション @ConversationList を開くには、次のようにする必要があります。

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setClassName("com.android.mms", "com.android.mms.ui.ConversationList");

ソース:

于 2010-06-07T14:11:10.890 に答える
1
  1. まず、さまざまなインテントと起動オプションを調べます。同様の質問に対する私の回答を見ることができます。コードは StartActivityForResult() で何かを呼び出します。それは難しい質問です。

  2. 運が良ければ、ステータスのメッセージング アプリケーションから INTENT を見つけることができます。電話がシステムのデフォルトを使用するという保証はないため、おそらくそうはなりません。結局、SMS が受信されると、SMS は何らかのメッセージング データベースに置かれ、メッセージング アプリケーションのロジックに従ってのみ「新規」になります。セキュリティ上の理由から、そのデータベースは共有されていません。この機能リクエストについてコメントすることをお勧めします。

  3. おそらく、「新しい SMS」インテントを取得して転送する独自のアプリケーションを作成できます。このやや古いチュートリアルを参照してください。

幸運を!進展がありましたらお知らせください。

于 2010-06-03T23:35:51.380 に答える
-2

インテント smsIntent = 新しいインテント(Intent.ACTION_VIEW);

smsIntent.setType("vnd.android-dir/mms-sms");

smsIntent.putExtra("アドレス", "12125551212");

smsIntent.putExtra("sms_body","メッセージ本文");

startActivity(smsIntent);

于 2012-03-12T09:19:08.150 に答える