3

我正在开发一个短信应用程序。如何在“选择使用哪个应用程序打开它”对话框中使该应用程序可用?

谢谢,马丁

/编辑:我想你只是误解了我。

我不想用我的应用程序编写短信,我希望其他人可以使用我的应用程序编写短信,并且当您在联系人列表。

我的应用程序清单的摘录:

    <activity
        android:name=".MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
            <category android:name="android.intent.category.APP_MESSAGING" />
        </intent-filter>
    </activity>

添加类别“APP_MESSAGING”只是没有解决它。

4

3 回答 3

3

这是通过意图过滤器完成的。

http://developer.android.com/guide/topics/intents/intents-filters.html

查看“意图解析”和“意图过滤器”

于 2012-04-26T17:59:02.870 回答
0

好吧,我有一个类似的问题。这就是我修复它的方法。这就是我在清单文件中声明我的活动的方式:

    <activity
        android:name="com.example.sms.MainActivity"
        android:label="@string/title_activity_main" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <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>

    </activity>
于 2012-11-30T14:10:41.807 回答
0

只需将这两个意图过滤器添加到您的主要活动中,您的应用程序将在 SMS 应用程序列表中可用

<activity
        android:name=".activities.MainAcitivty"
        android:label="@string/app_name" >

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

       <!--add these intent filters to your app-->
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.DEFAULT"/>
            <data android:mimeType="vnd.android.cursor.dir/mms"/>
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.DEFAULT"/>
            <data android:mimeType="vnd.android-dir/mms-sms"/>
        </intent-filter>
</activity>
于 2015-11-16T05:14:33.767 回答