2011-12-12 15 views
6

He descargado una aplicación del mercado de Android. Solo tengo que ingresar un número y al hacer clic en ingresar, esa aplicación genera una tabla con algunos contenidos.¿Es posible obtener datos de otra aplicación en Android?

Quiero que mi aplicación copie el contenido de la tabla. Mi aplicación invocó esa aplicación. El usuario tiene que poner los datos en el texto de edición manualmente y luego presionar enter. Mi aplicación se estaría ejecutando en segundo plano hasta entonces.

  1. ¿Esto es posible?
  2. ¿Cómo?

otra pregunta: ¿Puedo realizar una captura de pantalla de la segunda aplicación y luego utilizar una imagen en texto decodificador para obtener los datos de esa pantalla?

Respuesta

2

Here es la documentación completa sobre el almacenamiento de datos y el intercambio de datos entre las aplicaciones. Dudo que pueda compartir la base de datos, pero puede intentar hacer lo mismo usando external storage

+0

Esta aplicación no es mía, por lo que ni siquiera sé dónde está la base de datos, donde se almacenan todos los datos. En ese caso, ¿qué hago? – Pallavi

+0

Supongo que no puedes obtener ningún dato privado de otra aplicación.Si la aplicación de un tercero desea compartir cualquier información, utiliza los métodos que se describen en la documentación – Jin35

0

Parece que quiere pasar algunos datos a esa aplicación y ejecutarla, ¿verdad? Es posible si y solo si esa aplicación proporciona algunos "ganchos" para que usted haga eso.

En Android, se puede, no importa si una aplicación proporciona ningún gancho para usted o no, iniciar una aplicación haciendo algo como esto:

Intent intent=new Intent(); 
intent.setPackage(TARGET_APP's package name); 
context.startActivity(intent); 

Esto debería iniciar esa aplicación, sin embargo, si él doesn No proporcione ganchos para usted, esa aplicación se ejecutará como normalmente se ejecuta. En ese caso, tus datos no tendrán efecto. Si proporciona ganchos, puede put data a través del intent.putExtra("KEy",value) y luego iniciar esa aplicación.

Por otro lado, si desea leer algunos datos de una aplicación, es posible si y solo si esa aplicación le permite hacerlo. Los datos generados por la aplicación son privados por defecto.

+0

Gracias por su respuesta, escribí el código para iniciar la aplicación y está funcionando bien, pero necesito acceder a los datos. No soy capaz de hacer eso. – Pallavi

+0

si esa aplicación no diseña un mecanismo para que algunas terceras aplicaciones pasen datos, es imposible hacerlo. – Huang

+0

bien. Gracias. pero ¿hay algún otro trabajo para esto? – Pallavi

1

Android sandboxes aplicaciones individuales, por lo que solo puede interactuar con otras aplicaciones a través de sus servicios expuestos: intents y proveedores de contenido. Ser rooteado casi definitivamente no ayudará aquí.

Ser capaz de obtener datos de una aplicación de terceros de la que no sabe nada es probable que sea imposible, y tomar una captura de pantalla desordenada y poco fiable, incluso si es posible.

¿Por qué no contacta al desarrollador y explica qué quieres hacer, para ver si te proporcionarán una forma sensata de obtener los datos de su aplicación?

4

Hay dos maneras:

1) Intención: Si desea compartir pequeñas cantidades de texto o datos numéricos entre aplicaciones, debe enviar una Intención que contiene los datos.

2) Proveedor de contenido: ofrecer un archivo desde su aplicación a otra aplicación es enviar a la aplicación receptora el URI de contenido del archivo y otorgar permisos de acceso temporal a ese URI. Los URI de contenido con permisos de acceso a URI temporales son seguros porque se aplican solo a la aplicación que recibe el URI y caducan automáticamente.

Cuestiones relacionadas