2010-12-30 4 views
0

テキストメッセージに画像を添付するインテントを呼び出そうとしています。次のコードは、エミュレータ上のイメージを含むテキストメッセージウィンドウを正しく表示しますが、電話(Droid X)でクラッシュします。画像ファイルにMMSインテントを使用する

  String name = FILE_NAME; 

      Uri uri = Uri.fromFile(new File(name)); 

      Intent intent = new Intent(Intent.ACTION_SEND); 
      intent.setClassName("com.android.mms", "com.android.mms.ui.ComposeMessageActivity"); 
      intent.putExtra(Intent.EXTRA_STREAM, uri); 
      intent.setType("image/png"); 
      startActivity(intent); 

12-30 12:56:50.628: ERROR/AndroidRuntime(14603): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.android.mms/com.android.mms.ui.ComposeMessageActivity}; have you declared this activity in your AndroidManifest.xml? 

問題は.setClassName行です。クラスに値をハードコードしましたが、これはおそらく間違っています。すべての携帯電話をサポートするためにここで何を使用する必要がありますか?

ありがとうございます。

答えて

3

クラス名をまったく設定しないでください。これにより、必要に応じてアプリ選択ダイアログが表示されます。

代わりに、インテントの可能なすべてのアクティビティを解決し、いくつかのロジックを使用して好みのものを決定し、デフォルトではロジックが選択できない場合にAndroidを選択させることになります。しかし、それはちょっと上ですが、あなたの目標がユーザーにMMSを送信させることだけであれば、その詳細レベルは必要ありません。

0

sendIntent.setPackage( "com.android.mms");

問題を解決するには

関連する問題