从发送到意图获取数据

时间:2013-08-17 10:00:20

标签: android telephony

我尝试写短信管理器,我想从联系人访问我的应用程序。我在清单

中添加以下行
        <intent-filter>
            <category android:name="android.intent.category.DEFAULT" />
            <action android:name="android.intent.action.SENDTO" />
            <data android:scheme="sms" />
            <data android:scheme="smsto" />
        </intent-filter>

及其工作,但我想获得phonenumber,firstname,id和...从这个意图,如何获取数据?

1 个答案:

答案 0 :(得分:1)

在这种情况下,这就足够了:

//In the activity
Intent intent = getIntent();
String data = intent.getDataString();
//The result in data will be like sms:999%9999%9999 the % it's because is a URI
//If you want to get the phoneNumber directly
String phoneNumber = i.getData().getSchemeSpecificPart();//The result 999 9999 9999

所以你可以从电话号码(999 9999 9999)获得联系人姓名,身份证等。你可以在这里看到答案:

Get Contact by Phone number on Android

当您尝试使用intent过滤器时,首先要在文档中搜索/ How,创建者发送信息。在这种情况下:

http://developer.android.com/reference/android/content/Intent.html#ACTION_SENDTO