13

ユーザーがベンダー[ShopOwner]に個人情報とカートアイテムの詳細をメールで注文できるようにするコードを作成しましたが、ここで

エラー:残念ながらアプリは停止しました

Logcat:

01-30 17:56:14.605: E/AndroidRuntime(951): FATAL EXCEPTION: main
01-30 17:56:14.605: E/AndroidRuntime(951): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.SEND typ=text/html flg=0x1 (has clip) (has extras) }
01-30 17:56:14.605: E/AndroidRuntime(951):  at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1622)
01-30 17:56:14.605: E/AndroidRuntime(951):  at android.app.Instrumentation.execStartActivity(Instrumentation.java:1417)
01-30 17:56:14.605: E/AndroidRuntime(951):  at android.app.Activity.startActivityForResult(Activity.java:3370)
01-30 17:56:14.605: E/AndroidRuntime(951):  at android.app.Activity.startActivityForResult(Activity.java:3331)
01-30 17:56:14.605: E/AndroidRuntime(951):  at android.app.Activity.startActivity(Activity.java:3566)
01-30 17:56:14.605: E/AndroidRuntime(951):  at android.app.Activity.startActivity(Activity.java:3534)
01-30 17:56:14.605: E/AndroidRuntime(951):  at com.version.bajrang.january.menu.ArrowsActivity$1.onClick(ArrowsActivity.java:105)
01-30 17:56:14.605: E/AndroidRuntime(951):  at android.view.View.performClick(View.java:4202)
01-30 17:56:14.605: E/AndroidRuntime(951):  at android.view.View$PerformClick.run(View.java:17340)
01-30 17:56:14.605: E/AndroidRuntime(951):  at android.os.Handler.handleCallback(Handler.java:725)
01-30 17:56:14.605: E/AndroidRuntime(951):  at android.os.Handler.dispatchMessage(Handler.java:92)
01-30 17:56:14.605: E/AndroidRuntime(951):  at android.os.Looper.loop(Looper.java:137)
01-30 17:56:14.605: E/AndroidRuntime(951):  at android.app.ActivityThread.main(ActivityThread.java:5039)
01-30 17:56:14.605: E/AndroidRuntime(951):  at java.lang.reflect.Method.invokeNative(Native Method)
01-30 17:56:14.605: E/AndroidRuntime(951):  at java.lang.reflect.Method.invoke(Method.java:511)
01-30 17:56:14.605: E/AndroidRuntime(951):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
01-30 17:56:14.605: E/AndroidRuntime(951):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
01-30 17:56:14.605: E/AndroidRuntime(951):  at dalvik.system.NativeStart.main(Native Method)

コード:

Intent messageIntent = new Intent(android.content.Intent.ACTION_SEND);
String aEmailList[] = { "rakesh@rocketmail.com" };   
messageIntent.putExtra(android.content.Intent.EXTRA_EMAIL, aEmailList);
messageIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject);
messageIntent.setType("text/html");
messageIntent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml(body.toString()));
startActivity(messageIntent);

最後に、SahilMahajanMjの助けを借りて、私はこのコードをほとんど変更せずに使用しました。

 Intent i = new Intent(Intent.ACTION_SEND);
 i.putExtra(Intent.EXTRA_EMAIL  , new String[]{"rakesh@rocketmail.com"});
 i.putExtra(Intent.EXTRA_SUBJECT, subject);
 i.setType("message/rfc822");
 i.putExtra(Intent.EXTRA_TEXT, Html.fromHtml(body.toString()));

try {
    startActivity(Intent.createChooser(i, "Send email via :"));
    Toast.makeText(ArrowsActivity.this, "Email Sent.", Toast.LENGTH_SHORT).show();
} catch (android.content.ActivityNotFoundException ex) {
    Toast.makeText(ArrowsActivity.this, "There are no email applications installed.", Toast.LENGTH_SHORT).show();
}

ViewCartActivity.java

public void onClick(View v) {
    // TODO Auto-generated method stub

        Intent mViewCartIntent = new Intent(ViewCartActivity.this, com.version.bajrang.january.menu.ArrowsActivity.class);
        mViewCartIntent.putExtra("name", myTextVeiwGrandTotal.getText().toString());
        startActivity(mViewCartIntent);

            }
        });

ArrowsActivity.javaの場合:

TextView txtName = (TextView) findViewById(R.id.total);
Intent i = getIntent();
String name = i.getStringExtra("name");
txtName.setText(name);

上記のコードを使用してカート内の商品の総数を取得し、取得して表示することもできますが、ここではカート内のアイテムの総数も次のようにカートタブに表示します。

https://play.google.com/store/apps/details?id=com.queppelin.tastykhana

彼らは赤で2を示しています...

4

3 に答える 3

20

エラーメッセージは次のとおりです。

ActivityNotFoundException:インテントを処理するアクティビティが見つかりません{act = android.intent.action.SEND typ = text / html flg = 0x1(クリップあり)(エクストラあり)}

これは、Androidシステムが、ユーザーが作成したインテントを処理するためのメール送信アクティビティを検出しなかったことを意味します。デバイスに電子メールアプリケーションがインストールされていることを確認してください。

また、次のコードを使用してメールを送信します。

Intent i = new Intent(Intent.ACTION_SEND);
i.setType("message/rfc822");
i.putExtra(Intent.EXTRA_EMAIL  , new String[]{"recipient@example.com"});
i.putExtra(Intent.EXTRA_SUBJECT, "subject of email");
i.putExtra(Intent.EXTRA_TEXT   , "body of email");
try {
    startActivity(Intent.createChooser(i, "Send mail"));
} catch (android.content.ActivityNotFoundException ex) {
    Toast.makeText(MyActivity.this, "There are no email applications installed.", Toast.LENGTH_SHORT).show();
}
于 2013-01-30T12:49:56.833 に答える
6

Rakeshは返信が遅くなって申し訳ありません。午前10時から問題を解決しようとしていて、何度か試しましたが、最終的に以下のコードが機能しました。

私はあなたが答えを得たことを知っていました、しかし私は私の満足のために何時間もここに私の答えを置いています、そして兄弟私はこれのためにポイントを必要としません、なぜなら@SahilMahajanMjはこれに値するからです:

  Intent i = new Intent(Intent.ACTION_SEND);
        i.putExtra(Intent.EXTRA_EMAIL  , new String[]{"rakesh@rocketmail.com"});
        i.putExtra(Intent.EXTRA_SUBJECT, subject);
        i.setType("message/rfc822");
        i.putExtra(Intent.EXTRA_TEXT, Html.fromHtml(body.toString()));

        try {
            startActivity(Intent.createChooser(i, "Send email via :"));
            } catch (android.content.ActivityNotFoundException ex) {
            Toast.makeText(ArrowsActivity.this, "There are no email applications installed.", Toast.LENGTH_SHORT).show();
        }
于 2013-01-31T06:54:07.833 に答える
3

android.contentあなたがあなたと一緒に渡す問題のようputExtrasです。

以下のようなものを試してください:

public Intent sendMail1() {
        Intent messageIntent = new Intent(Intent.ACTION_SEND);

        String aEmailList[] = { "rakesh@rocketmail.com" };
        messageIntent.putExtra(Intent.EXTRA_EMAIL, aEmailList);

        messageIntent.putExtra(Intent.EXTRA_SUBJECT, subject);

        messageIntent.setType("text/html");
        messageIntent.putExtra(Intent.EXTRA_TEXT,
                Html.fromHtml(body.toString()));

        return messageIntent;
    }

次のように意図を実行します。

startActivity(Intent.createChooser(sendMail1(), "send mail"));
于 2013-01-31T06:18:39.140 に答える