我开发了一个发送短信的Android应用程序。我的问题是,当我单击联系人的文本消息图标时,弹出窗口会要求您指定要使用的应用程序,但是我的应用程序没有作为选项的一部分。任何人都可以帮忙吗?
我添加了一张图片,让问题更加清晰。
http://i.stack.imgur.com/itFvN.png
这是清单文件的代码:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.smsmessaging"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />
<uses-permission android:name="android.permission.SEND_SMS">
</uses-permission>
<uses-permission android:name="android.permission.RECEIVE_SMS">
</uses-permission>
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity android:name=".SMS"
android:label="@string/app_name">
<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.SEND"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="text/plain" />
</intent-filter>
</activity>
<receiver android:name=".Receiver">
<intent-filter>
<action android:name=
"android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
</application>
答案 0 :(得分:2)
我终于想出了怎么做。我所要做的就是在活动中添加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>
答案 1 :(得分:0)
您需要<intent-filter>
来执行ACTION_SEND操作。这将把它放在列表中
http://developer.android.com/guide/components/intents-filters.html
此示例来自Google page:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<action android:name="android.intent.action.EDIT" />
<action android:name="android.intent.action.PICK" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="vnd.android.cursor.dir/vnd.google.note" />
</intent-filter>
注意数据元素