我制作了一个应用程序,可以通过单击按钮启动新的电子邮件意图,我已经在几台设备上对其进行了测试,它似乎工作正常,除了它在银河 2 和银河 3 上崩溃。这是我检查互联网访问的代码调用意图。
ConnectivityManager cm = (ConnectivityManager) getActivity().getSystemService(Context.CONNECTIVITY_SERVICE);
if((cm.getActiveNetworkInfo() != null && cm.getActiveNetworkInfo().isAvailable() && cm.getActiveNetworkInfo().isConnected()))
{
Log.d("Main", "Start Email");
Intent sendIntent = new Intent(Intent.ACTION_VIEW);
sendIntent.setClassName("com.google.android.gm","com.google.android.gm.ComposeActivityGmail");
sendIntent.putExtra(Intent.EXTRA_EMAIL, new String[] { monkey.getSendTo() });
sendIntent.setData(Uri.parse(monkey.getSendTo()));
sendIntent.putExtra(Intent.EXTRA_SUBJECT, "TFS note");
sendIntent.setType("plain/text");
sendIntent.putExtra(Intent.EXTRA_TEXT, "Sent From TFS\n");
startActivity(sendIntent);
} else{//toast if there is no internet
Toast.makeText(getActivity().getBaseContext(),"No Internet\n access",
Toast.LENGTH_SHORT).show();
}
在我看来,在银河设备上,它没有对 gmail 应用程序进行罚款,因此它无法启动意图,所以我想知道如何制定一个通用意图来打开任何形式的电子邮件应用程序,或者是否有是使其与银河设备兼容的更好方法。