0

我尝试编写短信管理器,我想从联系人访问我的应用程序。我将以下行添加到清单中

        <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>

及其工作,但我想从这个意图中获取电话号码、名字、身份证和......,如何获取数据?

4

1 回答 1

2

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

//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) 中获取联系人姓名、ID 等。您可以在此处看到答案:

在 Android 上通过电话号码获取联系人

当您尝试使用意图过滤器时,第一件事是在文档中搜索哪里/如何,创建者发送信息。在这种情况下:

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

于 2013-08-25T16:53:02.830 回答