我是android开发的新手。这是我的应用程序的代码。我一直试图让按钮初始化并通过电子邮件发送应用程序意图,但它无法正常工作。我在下面分享了我的文件。请帮忙。
Android Manifest
<activity android:name=".ordernow" android:label="Order Details">
<intent-filter>
<action android:name="android.intent.action.SENDTO" />
<data android:scheme="mailto" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
activity_ordernow.xml LAYOUT
<Button
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:textAllCaps="true"
android:id="@+id/email_form"
android:text="Get Quote"
android:onClick="getQuote" />
Ordernow.java
public void getQuote (View view){
String addresses = "omukiga@omukiga.com";
String subject = "Get Quote Online";
String body = "This is the body text for me";
//Compose email to send to Intraline
Intent intent = new Intent(Intent.ACTION_SENDTO);
//For only email apps to handle the information Also Experiment about using whatsapp
intent.setData(Uri.parse("mailto:"));
intent.putExtra(Intent.EXTRA_EMAIL, addresses);
intent.putExtra(Intent.EXTRA_SUBJECT, subject);
intent.putExtra(Intent.EXTRA_TEXT, body);
if (intent.resolveActivity(getPackageManager()) != null) {
startActivity(intent);
}
}
请帮我找到qlitch。除了解释之外,github的一个好的要点和正确的代码行将被用来。
答案 0 :(得分:0)
应用程序崩溃了。
如果您的意思是应用程序崩溃,use LogCat to examine the Java stack trace associated with the crash。
事实上,应用程序只是在不改变状态的情况下反复运行我的活动
首先,从<intent-filter>
ordernow
元素中删除<activity>
。如果你正在编写一个电子邮件应用程序,<intent-filter>
是合适的,但事实并非如此。
此时,您可能会发现单击按钮时没有任何反应。这表示您的设备上没有支持ACTION_SENDTO
mailto:
Uri
的应用。您可能需要安装或配置电子邮件客户端才能使其正常工作。
答案 1 :(得分:0)
最终代码应如下所示。
activity_ordernow.xml LAYOUT
<Button
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:textAllCaps="true"
android:id="@+id/email_form"
android:text="Get Quote"
android:onClick="getQuote" />
Ordernow.java
public void getQuote (View view){
String addresses = "omukiga@omukiga.com";
String subject = "Get Quote Online";
String body = "This is the body text for me";
//Compose email to send to Intraline
Intent intent = new Intent(Intent.ACTION_SENDTO);
//For only email apps to handle the information Also Experiment about using whatsapp
intent.setData(Uri.parse("mailto:"));
intent.putExtra(Intent.EXTRA_EMAIL, new String[] { "example@example.com" });
intent.putExtra(Intent.EXTRA_SUBJECT, subject);
intent.putExtra(Intent.EXTRA_TEXT, body);
if (intent.resolveActivity(getPackageManager()) != null) {
startActivity(intent);
}
}
答案 2 :(得分:0)