从应用程序发送电子邮件时ActivityNotFoundException [英] ActivityNotFoundException while sending email from the application

查看:255
本文介绍了从应用程序发送电子邮件时ActivityNotFoundException的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经写了一个代码,我允许用户通过电子邮件发送订单到供应商[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:没有活动发现处理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):在android.app.Instrumentation.execStartActivity(Instrumentation.java:1417)
01-30 17:56:14.605:E / AndroidRuntime(951):在android.app.Activity.startActivityForResult Activity.java:3370)
01-30 17:56:14.605:E / AndroidRunt ime(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):在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):android.os.Handler.handleCallback(Handler.java:725)
01-30 17:56: 14.605:E / AndroidRuntime(951):在android.os.Handler.dispatchMessage(Handler.java:92)
01-30 17:56:14.605:E / AndroidRuntime(951):在android.os.Looper .loop(Looper.java:137)
01-30 17:56:14.605:E / AndroidRuntime(951):在android.app.Activi tyThread.main(ActivityThread.java:5039)
01-30 17:56:14.605:E / AndroidRuntime(951):java.lang.reflect.Method.invokeNative(Native Method)
01- 30 17:56:14.605:E / AndroidRuntime(951):java.lang.reflect.Method.invoke(Method.java:511)
01-30 17:56:14.605:E / AndroidRuntime(951) :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)

代码:

 code> 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,发送电子邮件,Toast.LENGTH_SHORT).show();
} catch(android.content.ActivityNotFoundException ex){
Toast.makeText(ArrowsActivity.this,没有安装电子邮件应用程序),Toast.LENGTH_SHORT).show();
}

在ViewCartActivity.java

  public void onClick(View v){
// TODO自动生成的方法存根

意图mViewCartIntent =新意图(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

解决方案

错误信息显示:


ActivityNotFoundException:无活动发现处理Intent {
act = android.intent.action.SEND typ = text / html flg = 0x1(has clip)(has
extras)}


这意味着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,电子邮件主题);
i.putExtra(Intent.EXTRA_TEXT,body of email);
try {
startActivity(Intent.createChooser(i,Send mail));
} catch(android.content.ActivityNotFoundException ex){
Toast.makeText(MyActivity.this,没有安装电子邮件应用程序),Toast.LENGTH_SHORT).show();
}


I have written a code in which I am allowing user to send order via email to vendor [ShopOwner] along with their personal and cart item details, but here I am getting an

error: Unfortunately App has Stopped

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)

Code:

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);

Finally with the Help of SahilMahajanMj, I have used this code with little change:

 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();
}

In 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);

            }
        });

In ArrowsActivity.java:

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

I am using above code to get total number of products in cart and i am able to get and show as well, but here total number of items in cart i also want to show on cart tab like:

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

they have shown 2 in red...

解决方案

The error message shows:

ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.SEND typ=text/html flg=0x1 (has clip) (has extras) }

It means that the android system doesnt found any email sending activity to handle the intent created by you. Make sure you have email application installed in your device.

Also use the following code to send email,

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();
}

这篇关于从应用程序发送电子邮件时ActivityNotFoundException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆