Message organization

Text Collector organizes messages into logical conversations, so that the exported collection contains a document per person.

Under the covers, a text message usually doesn’t contain names of the people involved, only their phone numbers. To find names, Text Collector looks them up in the phone’s address book.

In most cases, mapping numbers to names is simple. Assume that Bob has an entry for Alice in his address book:





Bob collects his text messages and when Text Collector sees a message either to or from 703-555-0123, it simply looks up the name, “Alice”. It then collates those messages into one PDF where the name, “Alice” appears beside the number 703-555-0123 and “Bob” appears on the other side of the conversation.

Each distinct person gets a separate document in Bob’s message collection, so Bob’s messages to and from Charlie go into a different document than his messages to and from Alice. This makes the resulting documents reflect logical conversations.

When a single contact has more than one name, say “Charlie” and “Chuck”, the Android address book picks a certain format as the “display name.” Text Collector, in turn uses only display name. If, however, Charlie and Chuck are listed as different entries in Bob’s phone book, Text Collector considers them different people and does not group their messages together.

One person, multiple phone numbers

Alice may have multiple addresses, either distinct phone numbers or a mix of phone numbers and email addresses.

So long as Bob lists all Alice’s numbers and email addresses under the Alice entry in his phone book, Text Collector recognizes that messages to or from any of them belong to Alice. Thus, it makes them just one document:

From Alice 703-555-0123

Hi Bob

From Alice 555-867-5309

This is my other number

Group messages

Now Bob sends a message to both Alice and Charlie. Naturally, the PDF version should show both names as recipients, but where should Text Collector actually put the message? In the Alice document or the Charlie document?

Actually, it goes in both, which has two advantages over Android’s built-in message threading:

  • It keeps messages in an intuitive order when people join and leave conversations.

  • If you have Bob’s collection and are only interested in messages between him and Alice, they should all be in a single document, named “Alice.”

Ambiguous addresses

Perhaps Bob also knows Jenny. Jenny and Alice are roommates, so they share the number 555-867-5309. If Bob sends a message to that number, it is no longer clear who he intended as the recipient. In fact, it could have been to both. Text Collector treats this as a group message, so it appears in both the Alice document and the Jenny document.

This type of ambiguity can also make it look as if a message has more than one sender. If Bob receives a message from 555-867-5309, Text Collector lists both Alice and Jenny as senders.

Text Collector makes an exception to this rule if the address belongs to the phone being collected. That is, Bob might have an entry called “Me” in his address book. His “Me” entry is technically a separate contact from “Bob,” but Text Collector ignores it, if the numbers match.

Phone owner

Android usually does not store the phone’s own number with each message, so, if it’s collecting Bob’s messages, Text Collector must infer that Bob was on this side of the conversation. For that, Text Collector uses the phone’s current number and the name stored in the phone’s owner profile.

Other party

Message type

Sender to recipient (inferred)



Alice to Bob



Bob to Alice

Text Collector can usually determine the phone owner’s name and number correctly, but not always.

First, the owner, who we are calling Bob, might never have entered his own name into the phone. In this case, the name can appear as something like “My Info” instead of “Bob”. The name comes from the owner’s “profile,” which can be changed in the Contacts app.

Similarly, on some carriers and phone models, the owner’s number might be “unknown” if the phone no longer has service. In that case, Text Collector gets the phone number from the owner’s profile, if available.


Text Collector does not allow any data in a collection to be changed retroactively, including names. All names are frozen as they were when messages were collected. If a name is incorrect, you must change it before collecting messages.

The owner’s name and number can also appear wrong when the owner, who we’re calling Bob, changes his phone number. Most messages will display the current number as sender or recipient, not the actual phone number that was in use at the time. Consequently, if Bob has a hand-me-down phone that still contains the previous owner’s messages, those messages will appear to belong to Bob.


Always reset your phone to a clean state before giving it away or throwing it away. You can usually find this option by searching for “factory reset” in the phone’s settings.

A few messages, however, will show the both the old number and the new number. Since Text Collector does not know that Bob changed his number, the old number will not show Bob’s name. Bob will appear to be the recipient of the message, rather than the sender.

If you changed phone numbers during the time frame you want to collect, consider finding out exactly when that change occured.

Dual-SIM phones (with multiple numbers) are similar to changed phone numbers. Text Collector picks a number as the owner, but it won’t necessarily be the phone number that actually sent the message in the first place.