electronico - ¿Cómo hacer una lista de la aplicación en la lista de electores de Android como un cliente de correo electrónico?
configurar cuenta exchange en android (3)
Esta pregunta ya tiene una respuesta aquí:
Estoy tratando de agregar mi aplicación Android en la lista de selectores como cliente de correo electrónico. Sin embargo, no aparece junto con la aplicación Gmail y K-9. Para probarlo, estoy tratando de compartir datos de chat desde la función "Email chat" del chat de la aplicación Whatsapp (ya que solo muestra aplicaciones de correo electrónico).
Tengo solo una actividad. Mi aplicación está en la lista de selectores cuando comparto datos de texto desde el navegador, pero no cuando comparto datos de correo electrónico de Whatsapp. Traté de agregar la siguiente acción de intención mi AndroidManifest.xml pero no funciona.
<intent-filter>
<action android:name="android.intent.action.SEND_MULTIPLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/*" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
<data android:mimeType="text/*" />
</intent-filter>
De la depuración, encontré que K-9 se está lanzando de la siguiente manera,
08-30 00:27:28.064 489-2302/? E/ANDR-PERF-MPCTL: Invalid profile no. 0, total profiles 0 only
08-30 00:27:28.064 1685-2620/? I/ActivityManager: START u0 {act=android.intent.action.CHOOSER cmp=android/com.android.internal.app.ChooserActivity (has extras)} from uid 10158 on display 0
08-30 00:27:28.064 489-24642/? I/Thermal-Lib: Thermal-Lib-Client: Client request sent
08-30 00:27:28.064 753-1089/? I/ThermalEngine: Thermal-Server: Thermal received msg from override
08-30 00:27:28.077 1685-1997/? W/InputMethodManagerService: Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@ee526b6 attribute=null, token = android.os.BinderProxy@4b533a5
08-30 00:27:28.177 1685-1749/? I/LaunchCheckinHandler: Displayed android/com.android.internal.app.ChooserActivity,wp,ca,96
08-30 00:27:28.177 1685-1749/? I/ActivityManager: Displayed android/com.android.internal.app.ChooserActivity: +96ms
08-30 00:27:28.244 1685-1845/? D/MotoSensors: ALS 41
08-30 00:27:28.253 1685-1694/? I/art: Background partial concurrent mark sweep GC freed 57795(3MB) AllocSpace objects, 27(1060KB) LOS objects, 30% free, 36MB/52MB, paused 2.148ms total 160.734ms
08-30 00:27:28.306 9905-9979/? D/OpenGLRenderer: endAllActiveAnimators on 0x8ea64500 (aq$a) with handle 0x8ee25d30
08-30 00:27:28.307 1685-2108/? I/WindowManager: Destroying surface Surface(name=PopupWindow:dcadc74) called by com.android.server.wm.WindowStateAnimator.destroySurface:2067 com.android.server.wm.WindowStateAnimator.destroySurfaceLocked:896 com.android.server.wm.WindowState.removeLocked:1457 com.android.server.wm.WindowManagerService.removeWindowInnerLocked:2546 com.android.server.wm.WindowManagerService.removeWindowLocked:2504 com.android.server.wm.WindowManagerService.removeWindowLocked:2373 com.android.server.wm.WindowManagerService.removeWindow:2364 com.android.server.wm.Session.remove:193
08-30 00:27:28.553 585-645/? I/SFPerfTracer: triggers: (rate: 14:1327) (1008781 sw vsyncs) (0 skipped) (42:3589810 vsyncs) (44:4764825)
08-30 00:27:28.707 585-585/? I/SFPerfTracer: triggers: (rate: 2783:527680) (compose: 1:238) (post: 3:2376) (render: 6:1240) (3:1974551 frames) (4:2171862)
08-30 00:27:28.707 585-585/? D/SFPerfTracer: layers: (5:12) (DimLayerController/Stack=0 (0xae241400): 1:9571) (StatusBar (0xae243c00): 4:397491) (com.android.systemui.ImageWallpaper (0xacfb7400): 4:264193)* (Sprite (0xae23ec00): 0:863)* (animation background stackId=1 (0xacfb9c00): 0:1482)* (animation background stackId=0 (0xacfd9c00): 0:12)* (NavigationBar (0xacfb6000): 4:252) (com.whatsapp/com.whatsapp.Conversation (0xacfd6000): 4:230) (PopupWindow:e9ad06f (0xacfb8800): 0:44)- (PopupWindow:dcadc74 (0xacfd7400): 0:44)- (Initializing... (0xacfb8800): 0:2)- (android/com.android.internal.app.ChooserActivity (0xacfb8800): 4:28)
08-30 00:27:29.343 1685-2562/? I/ActivityManager: START u0 {act=android.intent.action.SEND_MULTIPLE typ=text/* flg=0xb080001 pkg=com.fsck.k9 cmp=com.fsck.k9/.activity.MessageCompose clip={text/* U:content://com.whatsapp.fileprovider/external/WhatsApp/.Shared/WhatsApp%20Chat%20with%20%E2%80%AA%2B91%2096019%2049744%E2%80%AC.txt} (has extras)} from uid 10158 on display 0
También puse type = text / * en mi filtro de intención, sin embargo, mi aplicación no está en la lista. ¿Alguna idea de por qué? ¿Qué puedo hacer para listarlo?
Prueba esto: - Espero que funcione
<intent-filter>
<action android:name="android.intent.action.SEND"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="image/*"/>
<data android:mimeType="text/plain"/>
</intent-filter>
prueba esta referencia
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<action android:name="android.intent.action.SENDTO"/>
<data android:scheme="mailto"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
</intent-filter>
<intent-filter android:label="@string/app_name">
<action android:name="android.intent.action.SEND"/>
<data android:mimeType="*/*"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
<intent-filter android:label="@string/app_name">
<action android:name="android.intent.action.SEND_MULTIPLE"/>
<data android:mimeType="*/*"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
Saqué estos filtros de intención directamente de la APK de Gmail.
Este filtro de intención maneja los enlaces de mailto
.
<intent-filter>
<action
android:name="android.intent.action.SENDTO" />
<action
android:name="android.intent.action.VIEW" />
<category
android:name="android.intent.category.DEFAULT" />
<category
android:name="android.intent.category.BROWSABLE" />
<data
android:scheme="mailto" />
</intent-filter>
Éste permite procesar las intenciones de mailto
descubiertas a través de NFC.
<intent-filter>
<action
android:name="android.nfc.action.NDEF_DISCOVERED" />
<category
android:name="android.intent.category.DEFAULT" />
<data
android:scheme="mailto" />
</intent-filter>
Éste permite abrir su aplicación como respuesta a los intentos de ENVIAR y al comando de voz "Ok Google, note a sí mismo" .
<intent-filter>
<action
android:name="android.intent.action.SEND" />
<category
android:name="android.intent.category.DEFAULT" />
<category
android:name="com.google.android.voicesearch.SELF_NOTE" />
<data
android:mimeType="*/*" />
</intent-filter>
Este permite enviar múltiples elementos (representados por Uris) a la vez.
<intent-filter>
<action
android:name="android.intent.action.SEND_MULTIPLE" />
<category
android:name="android.intent.category.DEFAULT" />
<data
android:mimeType="*/*" />
</intent-filter>
Hubo dos dominios más específicos para Gmail que no son relevantes y que he omitido.
Para verificarse usted mismo:
- Obtenga una APK de Gmail.
- En Android Studio, vaya a Menú principal> Compilar> Analizar APK ...
- Encuentra y abre el APK de Gmail usando el selector de archivos.
- Seleccione AndroidManifest.xml en APK Analyzer.
Procesar los intentos una vez que se entregan a su aplicación está fuera del alcance.