[Android] Fix the file picker crash issue and optimize the process.

This patch is to fix the special case with some ROMs and optimize the process.
If there is no SD card on device, getExternalStoragePublicDirectory()
returns null on these ROMs.
The ROMs changes the setting in "/system/etc/vold.fstab", external storage was
mounted on "/storage/sdcard1", but the default external storage was mounted from
"/storage/sdcard0".
If the default external storage was not existed, get the other storage.
Optimize the process to run related apps when file picker's accept type
was specified.

BUG=XWALK-2902, XWALK-2972
If the accept type was specified, click the file pick, run the related app directly. E.g. accept type is "video/*", the camera goes into video status. This is the optimize process according to @js0701 
's advice. It has no relationship with the sdcard mount. Thanks.