Hi,

 

I have seen many similar posts regarding variations of this issue and have 
tried just about every combination of solutions I can think of without 
success.

 

In a nutshell, a client certificate (x509) will be sent to the device via 
email.  This certificate is in a file that is pkcs12 formatted but has a 
non-stander extension.  We use ".osmc" as the extension (instead of the 
standard ".p12" or ".pfx") with the intention that the certificate only be 
offered to our app.

 

The "official" requirement is that the user utilizes an accout configured 
with the native email client of Android to receive the email containing the 
".osmc" file.  The user would then tap on the "View" option with the 
attachment and that would launch an activity in our app to handle the file 
and install the certificate into the app keychain.  In reality, we should 
be able to handle the same scenario consistently from the GMail client and 
from native Files or Downloads apps in the case that the user saves the 
attached file.  Lastly, no files other than those with ".osmc" extensions 
should ever be offered to our app when the View option is selected from the 
attachment or the file is selected from a Files or Downloads app.

 

After a week of googling and trying dozens of intent-filter combinations on 
several devices (Samsung, HTC, Motorola so far) with varying Android 
versions (4.0.3 and up), I have not been able to find an intent-filter 
configuration that would provide the required behavior consistently accross 
all the devices.  And this is with only a small set of devices!

 

Here are the intent-filters we are currently using:

 

                     <intent-filter>

                           <action android:name=*
"android.intent.action.VIEW"* />

                           <action android:name=*
"android.intent.action.PICK"* /> 

                           <category android:name=*
"android.intent.category.DEFAULT"* />

                           <data android:scheme=*"file"* 

                                    android:pathPattern=*".*\\.osmc"* 

                                    android:host=*"*"* 

                                    android:mimeType=*"*/*"* />

                           <data android:pathPattern=*".*\\..*\\.osmc"*/>

                           <data android:pathPattern=*".*\\..*\\..*\\.osmc"*
/> 

                           <data android:pathPattern=*
".*\\..*\\..*\\..*\\.osmc"*/>                

                     </intent-filter>

 

                     <intent-filter>

                           <action android:name=*
"android.intent.action.VIEW"* />

                           <action android:name=*
"android.intent.action.PICK"* /> 

                           <category android:name=*
"android.intent.category.DEFAULT"* />

                           <data android:mimeType=*
"application/octet-stream"* 

                                    android:host=*"*"* />

                     </intent-filter>

 

The problems we have with this configuration is that on some phones, a file 
with the ".p12" extension is offered to our app on some devices.  On 
others, ".osmc" files are recognized correctly from the email clients but 
not recognized if saved an accessed from a Files or Download app.

 

Is it even possible to configure the intent-filters to achieve what I am 
looking for and have it work consistently accross devices?  Again, what I 
would like is:

 

1)  ".osmc" files always offered to our app (and only to our app) when the 
user selects them from the native email client, GMail client or the Files 
or Downloads app

 2)  No other files (with extensions other than ".osmc") ever offered to 
our app from native email client, GMail client or frome Files or Downloads 
apps.

 

Thanks,

 
 - Ken

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to android-developers+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to