In our application we need to read attachments from email clients and upload it to the server. For the default email client for Android, everything works fine, but for the gmail application that addresses
java.lang.SecurityException: Permission Denial: opening provider com.google.android.gm.provider.MailProvider from ProcessRecord (pid=11298, uid=10068) requires com.google.android.gm.permission.READ_GMAIL or com.google.android.gm.permission.WRITE_GMAIL
They even tried to grant Gmail read rights, but they didnβt work.
Observations
It works great for Nexus, but for samsung 4.2 and 4.1 devices it works fine if the activity is created for the first time, but if activity in the background is thrown above the above exceptions.
Trying to get the attachment file name using the code below.
Cursor cursor = getContentResolver().query(openIntent.getData(), new String[] { MediaStore.MediaColumns.DISPLAY_NAME }, null, null, null); cursor.moveToFirst(); int nameIndex = cursor .getColumnIndex(MediaStore.MediaColumns.DISPLAY_NAME); if (nameIndex >= 0) { NCUtil.clickedImageTitle = cursor.getString(nameIndex); path = cursor.getString(nameIndex); } cursor.close();
My manifest file
<activity android:name="com.ncomputing.vspacemobile.NCMainActivity" android:configChanges="orientation|keyboard|keyboardHidden|screenSize" android:excludeFromRecents="true" android:launchMode="singleTask" android:screenOrientation="sensorPortait" android:theme="@android:style/Theme.NoTitleBar" android:windowSoftInputMode="adjustPan" > <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="application/pdf" /> <data android:mimeType="application/msword" /> <data android:mimeType="application/vnd.openxmlformats-officedocument.wordprocessingml.document" /> <data android:mimeType="application/vnd.ms-excel" /> <data android:mimeType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" /> <data android:mimeType="application/vnd.ms-powerpoint" /> <data android:mimeType="application/vnd.openxmlformats-officedocument.presentationml.presentation" /> <data android:mimeType="text/plain" /> <data android:mimeType="text/comma-separated-values" /> <data android:mimeType="application/rtf" /> </intent-filter> </activity>
User rights
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> <uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> <uses-permission android:name="android.permission.RECORD_AUDIO" />
Please let us know how I can make it work, I need an activity trigger mode as singleTask and access to attachments.
source share