This problem was solved via an email thread to tpsdk-catalyst-ug@trimble.com - but for completeness:
The intent as shown in either the Java or Xamarin Facade sample apps works. The Java sample app call looks similar to this:
Intent loginIntent = new Intent("com.trimble.tmm.LOGIN");
loginIntent.putExtra("applicationID", GUID);
try {
startActivityForResult(loginIntent, REQUEST_LOGIN);
} catch (ActivityNotFoundException e) {
//do something
}
where the GUID was provided by Trimble during product registration.
So during product the application developer provides the package name of his application plus public SHA signing key; in return he gets a GUID which is unique for his application. This triplet is further on used for finger printing.
If an application is build in debug mode TMM and TPSDK for Catalyst do not fingerprint the application. In this case only the application GUID must be known (aka registered) to Trimble. The GUID is used to look up the product and create a subscription.
If an application is build in release mode TMM and TPSDK for Catalyst perform a fingerprint consisting of GUID, package name and public SHA signing key.
All three values are part of the subscription payload; if any of those don't match the database record (created during product registration) the authentication will fail.
More details can be found in the .
In the given case the package name was inconsistent - therefore the login failed.
The best way to trace this problem (or similar ones) is via the TMM log mechanism. TMMs Developer Gateway allows to enable detailed logs - which show the package name mismatch. More infos on how to enable this can be found in the corresponding developer documentation for TMM.