Android上的设置意图过滤器用于发送邮件

时间:2016-09-20 06:41:22

标签: android android-intent

我的简单andoroid应用程序可以是内部电子邮件发件人。我正在尝试对清单上的活动设置一些意图过滤器以用于其他应用程序,如何设置一些意图过滤器以具备此功能?我想用户可以选择我的应用程序发送邮件,我发现这个代码,但似乎不正确。

<intent-filter android:label="Send Mail" android:icon="@drawable/pig">
    <data android:mimeType="text/plain"/>
    <action android:name="android.intent.action.SEND"/>
    <action android:name="android.intent.action.VIEW"/>
    <category android:name="android.intent.category.DEFAULT"/>
</intent-filter>

1 个答案:

答案 0 :(得分:-1)

在清单

中定义意图过滤器
 <activity android:name="ShareActivity">
    <!-- filter for sending text; accepts SENDTO action with sms URI schemes -->
    <intent-filter>
        <action android:name="android.intent.action.SENDTO"/>
        <category android:name="android.intent.category.DEFAULT"/>
        <data android:scheme="sms" />
        <data android:scheme="smsto" />
    </intent-filter>
    <!-- filter for sending text or images; accepts SEND action and text or image data -->
    <intent-filter>
        <action android:name="android.intent.action.SEND"/>
        <category android:name="android.intent.category.DEFAULT"/>
        <data android:mimeType="image/*"/>
        <data android:mimeType="text/plain"/>
    </intent-filter>
</activity>

处理您的活动中的结果

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);

    // Get the intent that started this activity
    Intent intent = getIntent();
    Uri data = intent.getData();

    // Figure out what to do based on the intent type
    if (intent.getType().indexOf("image/") != -1) {
        // Handle intents with image data ...
    } else if (intent.getType().equals("text/plain")) {
        // Handle intents with text ...
    }
}

有关详情,请访问Official Documentation

它运作良好&amp;一切都是详细定义的。