java– 为什么我的android发送电子邮件意图方法不起作用

java– 为什么我的android发送电子邮件意图方法不起作用,第1张

概述大家好我是android程序员的新手.我已经构建了具有GPS状态的发送电子邮件意图方法.我有一个按钮,如果用户单击此按钮,我有功能,以检查GPS的状态.并发送电子邮件,但意图发送电子邮件不起作用,并在LogCat中显示此错误07-1616:23:30.161:E/AndroidRuntime(28567):FATALEXCEP

大家好我是android程序员的新手.
我已经构建了具有GPS状态的发送电子邮件意图方法.我有一个按钮,如果用户单击此按钮,我有功能,以检查GPS的状态.并发送电子邮件,但意图发送电子邮件不起作用,并在LogCat中显示此错误

    07-16 16:23:30.161: E/AndroIDRuntime(28567): FATAL EXCEPTION: main07-16 16:23:30.161: E/AndroIDRuntime(28567): java.lang.IllegalStateException: Could not execute method of the activity07-16 16:23:30.161: E/AndroIDRuntime(28567):    at androID.vIEw.VIEw.onClick(VIEw.java:3735)07-16 16:23:30.161: E/AndroIDRuntime(28567):    at androID.vIEw.VIEw.performClick(VIEw.java:4354)07-16 16:23:30.161: E/AndroIDRuntime(28567):    at androID.vIEw.VIEw$PerformClick.run(VIEw.java:17961)07-16 16:23:30.161: E/AndroIDRuntime(28567):    at androID.os.Handler.handleCallback(Handler.java:725)07-16 16:23:30.161: E/AndroIDRuntime(28567):    at androID.os.Handler.dispatchMessage(Handler.java:92)07-16 16:23:30.161: E/AndroIDRuntime(28567):    at androID.os.Looper.loop(Looper.java:137)07-16 16:23:30.161: E/AndroIDRuntime(28567):    at androID.app.ActivityThread.main(ActivityThread.java:5328)07-16 16:23:30.161: E/AndroIDRuntime(28567):    at java.lang.reflect.Method.invokeNative(Native Method)07-16 16:23:30.161: E/AndroIDRuntime(28567):    at java.lang.reflect.Method.invoke(Method.java:511)07-16 16:23:30.161: E/AndroIDRuntime(28567):    at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)07-16 16:23:30.161: E/AndroIDRuntime(28567):    at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:869)07-16 16:23:30.161: E/AndroIDRuntime(28567):    at dalvik.system.NativeStart.main(Native Method)07-16 16:23:30.161: E/AndroIDRuntime(28567): Caused by: java.lang.reflect.InvocationTargetException07-16 16:23:30.161: E/AndroIDRuntime(28567):    at java.lang.reflect.Method.invokeNative(Native Method)07-16 16:23:30.161: E/AndroIDRuntime(28567):    at java.lang.reflect.Method.invoke(Method.java:511)07-16 16:23:30.161: E/AndroIDRuntime(28567):    at androID.vIEw.VIEw.onClick(VIEw.java:3730)07-16 16:23:30.161: E/AndroIDRuntime(28567):    ... 11 more07-16 16:23:30.161: E/AndroIDRuntime(28567): Caused by: java.lang.IllegalArgumentException: Plain text must be supplIEd if HTML text is supplIEd07-16 16:23:30.161: E/AndroIDRuntime(28567):    at androID.content.ClipData$Item.<init>(ClipData.java:252)07-16 16:23:30.161: E/AndroIDRuntime(28567):    at androID.content.Intent.migrateExtraStreamToClipData(Intent.java:7253)07-16 16:23:30.161: E/AndroIDRuntime(28567):    at androID.content.Intent.migrateExtraStreamToClipData(Intent.java:7234)07-16 16:23:30.161: E/AndroIDRuntime(28567):    at androID.app.Instrumentation.execStartActivity(Instrumentation.java:1428)07-16 16:23:30.161: E/AndroIDRuntime(28567):    at androID.app.Activity.startActivityForResult(Activity.java:3430)07-16 16:23:30.161: E/AndroIDRuntime(28567):    at androID.app.Activity.startActivityForResult(Activity.java:3391)07-16 16:23:30.161: E/AndroIDRuntime(28567):    at androID.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:817)07-16 16:23:30.161: E/AndroIDRuntime(28567):    at androID.app.Activity.startActivity(Activity.java:3626)07-16 16:23:30.161: E/AndroIDRuntime(28567):    at androID.app.Activity.startActivity(Activity.java:3594)07-16 16:23:30.161: E/AndroIDRuntime(28567):    at com.mpa.emvi.HomeActivity.sendEmail(HomeActivity.java:100)07-16 16:23:30.161: E/AndroIDRuntime(28567):    ... 14 more

好在我的HomActivityClass中

    package com.mpa.emvi;import com.mpa.emvi.R;import androID.support.v4.app.FragmentActivity;import androID.util.Log;import androID.vIEw.VIEw;import androID.Widget.Toast;import com.Google.androID.gms.maps.GoogleMap;import com.Google.androID.gms.maps.SupportMapFragment;import com.Google.androID.gms.common.ConnectionResult;import com.Google.androID.gms.common.GooglePlayServicesClIEnt.ConnectionCallbacks;import com.Google.androID.gms.common.GooglePlayServicesClIEnt.OnConnectionFailedListener;import com.Google.androID.gms.location.LocationClIEnt;import com.Google.androID.gms.location.LocationListener;import androID.content.Context;import androID.content.Intent;import androID.location.Location;import androID.location.LocationManager;import androID.os.Bundle;public class HomeActivity extends FragmentActivity  implements ConnectionCallbacks, OnConnectionFailedListener, LocationListener {    private LocationManager mLocationManager;    boolean statusOfGPS;    private GoogleMap mMap;    private LocationClIEnt mLocationClIEnt;    private String DescribText = new String();    private static final String TAG = "MyGPS_status";    @OverrIDe    protected voID onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentVIEw(R.layout.activity_home);            }    @OverrIDe    protected voID onResume() {        super.onResume();        setUpMAPIfNeeded();        setUpLocationClIEntIfNeeded();        mLocationClIEnt.connect();        mLocationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE );    }    private voID setUpMAPIfNeeded() {        // Do a null check to confirm that we have not already instantiated the map.        if (mMap == null) {            // Try to obtain the map from the SupportMapFragment.            mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentByID(R.ID.map))                    .getMap();            // Check if we were successful in obtaining the map.            if (mMap != null) {                 mMap.setMyLocationEnabled(true);            }        }    }    private voID setUpLocationClIEntIfNeeded() {        if (mLocationClIEnt == null) {          mLocationClIEnt = new LocationClIEnt(              getApplicationContext(),              this,  // ConnectionCallbacks              this); // OnConnectionFailedListener        }     }    public voID sendEmail(VIEw vIEw){        statusOfGPS = mLocationManager.isProvIDerEnabled(LocationManager.GPS_PROVIDER);        Intent i = new Intent(Intent.ACTION_SEND);        if (mLocationClIEnt != null && mLocationClIEnt.isConnected() && statusOfGPS == true) {            DescribText = "This is My Emergency Location on GPS " +                    "<a href='https://maps.Google.com/maps?q='"+mLocationClIEnt.getLastLocation().getLatitude()+"','"+mLocationClIEnt.getLastLocation().getLongitude()+"'&ll='"+mLocationClIEnt.getLastLocation().getLatitude()+"','"+mLocationClIEnt.getLastLocation().getLongitude()+"'&z=17'>click here</a>";            i.setType("text/HTML");            i.putExtra(Intent.EXTRA_EMAIL  , new String[]{"suphawut@mpatmail.com"});            i.putExtra(Intent.EXTRA_SUBJECT, "Emergency Location");            i.putExtra(Intent.EXTRA_HTML_TEXT   , DescribText);            try {                startActivity(Intent.createChooser(i, "Send mail..."));            } catch (androID.content.ActivityNotFoundException ex) {                Toast.makeText(getApplicationContext(), "There are no email clIEnts installed.", Toast.LENGTH_LONG).show();            }         Log.d(TAG, "gps =" + statusOfGPS);        }else{            DescribText = "This is My Emergency Location on INTERNET" +                    " <a href='https://maps.Google.com/maps?q='"+mLocationClIEnt.getLastLocation().getLatitude()+"','"+mLocationClIEnt.getLastLocation().getLongitude()+"'&ll='"+mLocationClIEnt.getLastLocation().getLatitude()+"','"+mLocationClIEnt.getLastLocation().getLongitude()+"'&z=17'>click here</a>";            i.setType("text/HTML");            i.putExtra(Intent.EXTRA_EMAIL  , new String[]{"suphawut@mpatmail.com"});            i.putExtra(Intent.EXTRA_SUBJECT, "Emergency Location");            i.putExtra(Intent.EXTRA_HTML_TEXT   , DescribText);            try {                startActivity(Intent.createChooser(i, "Send mail..."));            } catch (androID.content.ActivityNotFoundException ex) {                Toast.makeText(getApplicationContext(), "There are no email clIEnts installed.", Toast.LENGTH_LONG).show();            }          Log.d(TAG, "gps =" + statusOfGPS);                         }    }    @OverrIDe    protected voID onPause() {        super.onPause();    }    /**     * Callback called when disconnected from gcore. Implementation of {@link ConnectionCallbacks}.     */    @OverrIDe    public voID ondisconnected() {      // Do nothing    }    /**     * Implementation of {@link OnConnectionFailedListener}.     */    @OverrIDe    public voID onConnectionFailed(ConnectionResult result) {      // Do nothing    }    @OverrIDe    public voID onLocationChanged(Location arg0) {        // Todo auto-generated method stub    }    @OverrIDe    public voID onConnected(Bundle arg0) {        // Todo auto-generated method stub    }    public voID onProvIDerEnable(String provIDer){    }}

意图发送电子邮件是在sendEmail方法中为什么这个工作?

附:我的英语技能很差,谢谢你的答案.

解决方法:

final Intent i = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("mailto","suphawut@mpatmail.com", null));i.putExtra(Intent.EXTRA_SUBJECT, "Emergency Location");i.putExtra(Intent.EXTRA_TEXT,HTML.fromHTML(DescribText));

总结

以上是内存溢出为你收集整理的java – 为什么我的android发送电子邮件意图方法不起作用全部内容,希望文章能够帮你解决java – 为什么我的android发送电子邮件意图方法不起作用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1117845.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存