如何在Android上的短信中放置一个号码?

时间:2013-09-08 13:28:05

标签: java android android-intent android-implicit-intent

我想为我的应用添加一项功能,当我触摸消息中的号码时,用户可以决定将号码发送到我的应用或Android拨号器。

例如,我的朋友发给我一个代码,我想将此代码用于我的应用运行它的特殊ussd代码。

我想我必须使用隐含意图,但我不知道怎么做?

由于

2 个答案:

答案 0 :(得分:1)

我引用了以下链接

- intent filter

- Intents implicit\explicit

  

隐含意图指定应执行的操作   可选的数据,为行动提供数据。

     

例如,以下内容告诉Android系统查看网页。   所有已安装的Web浏览器都应注册到相应的   意图数据通过意图过滤器。

Intent i = new Intent(Intent.ACTION_VIEW,
Uri.parse("http://www.vogella.com")); startActivity(i); 
  

如果向Android系统发送明确意图,则会搜索所有内容   为特定行动和登记注册的组件   拟合数据类型。

     

如果只找到一个组件,Android将启动此组件   直。如果Android系统有多个组件是标识符,   用户将获得一个选择对话框,并可以决定哪个组件   应该用于意图。


如何使用

  

您可以通过 Intent过滤器注册自己的组件。如果一个   组件没有定义一个,它只能通过显式调用   意图。


将活动注册为浏览器

<activity android:name=".BrowserActivitiy" 
          android:label="@string/app_name">
  <intent-filter>
     <action android:name="android.intent.action.VIEW" />
     <category android:name="android.intent.category.DEFAULT" />
     <data android:scheme="http"/> 
  </intent-filter>
</activity>

更新

mimeType

的代码示例
<activity android:name="ShareActivity">
<intent-filter>
    <action android:name="android.intent.action.SEND"/>
    <category android:name="android.intent.category.DEFAULT"/>
    <data android:mimeType="text/plain"/>
    <data android:mimeType="image/*"/>
</intent-filter>

答案 1 :(得分:0)

我假设您正在谈论您收到的短信号码。点击该号码后,您希望用户可以选择拨打或使用您的应用。

如果是,那么您需要在清单文件中包含 intent filter 以用于启动器活动。