
大家好我是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发送电子邮件意图方法不起作用所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)