2012-07-06 23 views
7

Tengo una aplicación para Android que crea sus propios archivos en Google Drive con el tipo mime application/vnd.test.typeAPI de Drive manifiesto y la integración con Drive App

me gustaría hacer mis peticiones mango de aplicaciones para este tipo de archivo cuando se abre por la Aplicación Google Drive como se describe here.

Mi actividad para manejar la apertura del expediente está en mi archivo de manifiesto de la siguiente manera:

<activity android:name="DriveHandlerActivity" 
       android:label="@string/app_name" 
       android:icon="@drawable/icon" 
       android:exported="true" > 
     <meta-data android:name="com.google.android.apps.drive.APP_ID" 
        android:value="id=MY_ID"/> 
     <intent-filter > 
      <action android:name="com.google.android.apps.drive.DRIVE_OPEN"/> 
      <data android:mimeType="application/vnd.test.type"/> 
     </intent-filter> 
    </activity> 

Cuando intento abrir el archivo en la aplicación Google Drive consigo el "Abrir con ..." Diálogo como se esperaba con mi aplicación listada como la única entrada capaz de manejar este tipo de archivo. Lamentablemente, después de confirmar la acción, me aparece un diálogo que dice.

Error Dialog

Mi única opción entonces es presionar el botón "Cancelar", que me devuelve a la aplicación Google Drive.

No estoy totalmente convencido de que tenga los metadatos correctos ya que se hace referencia a la ID con diferentes nombres dependiendo de dónde se mire. Algunos documentation calls it the App ID, algunos lo llaman el Project ID(See here at 26:44). He intentado utilizar tanto el "Project ID" como figura en mi Google Apis Console y también el número de proyecto (desde el URL) en la misma página. Recibo el mismo error independientemente del valor que elijo como ID.

Por lo que yo sé, el siguiente paso debería ser manejar la intención en mi aplicación, pero debido al error descrito, la intención nunca llega. ¿Alguien puede decirme lo que estoy haciendo incorrectamente?

+0

¿Está utilizando emulador o dispositivo real? – Zamani

+0

Galaxy Nexus real corriendo Jellybean –

Respuesta

3

Actualmente existe un problema que requiere que su aplicación aparezca en el Chrome Webstore (incluso para probadores confiables solamente) para que el flujo Open With funcione.

Sin embargo, incluso si se resuelve el problema, su aplicación no podrá acceder al archivo hasta que se libere la API Google Play Services. El único problema sería solicitar la autorización para el alcance total de la unidad https://www.googleapis.com/auth/drive que no se recomienda pero es útil para la depuración.

Actualizaré esta respuesta cuando se resuelva la limitación de Chrome Webstore.

+0

Excelente gracias. ¿Actualizar los documentos a este efecto quizás? Perdí mucho tiempo en esto y solo lo probé debido a tu demostración en IO. ¿Puede decirme exactamente qué identificación debería usar en el manifiesto? No está claro para mí. Gracias. –

+1

La ID que debe usar es la del Proyecto API y también es parte de la URL. Ejemplo: 'https://code.google.com/apis/console/#project: ' (solo deberían ser números). Esperaba que se lanzara Google Play Services antes de que los desarrolladores comenzaran a intentarlo: -/ – Alain

+0

¿Sigue habiendo el requisito Chrome Webstore ahí? He intentado la integración de unidades, solo encontré el mismo problema (se produjo un error interno). – Mendhak

Cuestiones relacionadas