2012-03-16 3 views
1

まあ、私は自分の携帯電話のデフォルトメールクライアントにユーザーをリダイレクトしたいと思います。 私は、郵送用アプリケーションを立ち上げることを意図することはできないと聞きました。したがって、一般的な考え方はIntent.Action_Sendの可能なアプリケーションを取得し、Intent.CreateChooser(...);でユーザーが選択したアプリケーションを開始することです。ユーザーのデフォルトのメールクライアントを起動する方法、デフォルトのウィンドウ(受信ボックス)

しかし、それは私がすることができないか、または私はどのようにピックされたパッケージ名を取得するかわからないようです。

答えて

-1

私は私の問題を迅速に回避しました。 Gmailを実行するか、ConversationListを開くか、または電子メールクライアントを単独で開くかをユーザーに決定させます。 一部の電話機にGmailクライアントがない場合でもクラッシュすることから保護しました。

0

実際にはテントごとのメールクライアントを起動することが可能である:これはあなたのために働く

Intent LaunchIntent = getPackageManager().getLaunchIntentForPackage("com.android.email/.activity.EmailActivity"); 
startActivity(LaunchIntent); 

希望。

 ..... 
     Intent emailIntent = new Intent(Intent.ACTION_SEND); 
     emailIntent.setType("text/html"); 
     emailIntent.putExtra(Intent.EXTRA_SUBJECT, "some subject"); 
     ..... 
     startActivity(Intent.createChooser(emailIntent, "Email:")); 
     ..... 

それは、かのう電子メールクライアントとの対話をswows:

+0

3月16日14:33:52.614:E/AndroidRuntime(13179):java.lang.NullPointerExceptionが 3月16日14:33:52.614:E/AndroidRuntime(13179):\t android.app.Instrumentation.execStartActivityで(Instrumentation.java:1374) 03-16 14:33:52.614:E/AndroidRuntime(13179):\t android.app.Activity.startActivityForResult(Activity.java:2827) 03-16 14:33:52.614: E/AndroidRuntime(13179):\t android.app.Activity.startActivity(Activity.java:2933) – Drake29a

+0

どの携帯電話を使用していますか?ローカルメールクライアントに別のパッケージ名があることがあります。あなたはlogcatのタグ "ActivityManager"でそれを見ることができます。 Playストアのアプリのcatlogもそのフィルタをサポートしています。 – Tim

+0

私はXperia x10を使用していますが、私はそれを任意の携帯電話で動作させようとしています。ユーザーがgmailの他のクライアントを使用しても。アプリでメールクライアントのパッケージをリストする方法はありますか?私はCreateChooserを使用すると、ユーザー選択のパッケージ名を印刷して起動することができます。 (基本的に私はCreateChooserを使用して電子メールを送信するためのアプリを開き、受信箱に入れたい) – Drake29a

0

はこれを試してみてください。ユーザーがいくつかを選択した後、彼は選択されたクライアントにリダイレクトされます....

+0

を作曲者のウィンドウに表示する。それは私を満足させないでしょう。私は受信箱に入る必要があります。 – Drake29a

関連する問題