Home Menu

Menu



Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android


 
Herramientas
  #1  
Viejo 27/07/14, 02:24:14
Avatar de mamba1233
mamba1233 mamba1233 no está en línea
Usuario novato en la web
Mensajes: 2
 
Fecha de registro: jul 2014
Mensajes: 2
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Abrir App Camara desde otra app?

Buenas un saludo a todo soy nuevo en este foro y me parece muy muy bueno este foro...
Bueno miren acabo de hacer mi primer APP, es resencillo es una app que habre la APP CAMARA de ANdroid, tengo un S4 y cuando pruebo directamente en la aPP me anda BIEN pero cuando lo testeo en un galaxi MINI no me habre la CAMARA. les paso el codigo por si algun buen samaritano me quiere dar una mano con esto que me tiene loco.
Código:
package com.abrira.abrirapp;

import android.support.v7.app.ActionBarActivity;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;

public class MainActivity extends ActionBarActivity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		Intent i;
		PackageManager manager = getPackageManager();
		try {
		    i = manager.getLaunchIntentForPackage("android.app.camera");
		    if (i == null)
		        throw new PackageManager.NameNotFoundException();
		    i.addCategory(Intent.CATEGORY_LAUNCHER);
		    startActivity(i);
		} catch (PackageManager.NameNotFoundException e) {

		}
		
	}
	protected void onPause(){ super.onPause(); finish(); } 
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		// Handle action bar item clicks here. The action bar will
		// automatically handle clicks on the Home/Up button, so long
		// as you specify a parent activity in AndroidManifest.xml.
		int id = item.getItemId();
		if (id == R.id.action_settings) {
			return true;
		}
		return super.onOptionsItemSelected(item);
	}
}
En el intent pongo la package de la CAMARA que es
android.app.camera "S4 funciona pero el galaxi mini no me habre la camara"
tb probe con el package completo que es com.sec.android.app.camera pero tampoco me funciona puse todos los permisos posibles que tengan que ver con la camara pero nadaa este es el manifest

Código:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android=""""""""""""
    package="com.abrira.abrirapp"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="10"
        android:targetSdkVersion="21" />
   <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.SET_WALLPAPER" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_SMS" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
      <uses-feature android:name="android.hardware.camera" />
	
      
      
      
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        
        
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            
        
            
        </activity>
    </application>

</manifest>
ambos package los saque descompilando cada una de las app que el del s4 vendria siendo la 2.0 y el galaxi mini 1.0 el package es el mismo pero no entiendo por que no me abre la cam en galaxi mini. tb probe con otro app que cree para testear puse el package correspondiente y todo nombre me habre la app sin problemas. la verdad no entiendo que puedo estar haciendo mal.


Se que para usar la camara se usa otro metodo pero mi obejito central es poder ABRIR LA APP De la camara de ANdroid, no usar la camara en mi app. alguna idea????
Gracias de ante mano
Responder Con Cita


  #2  
Viejo 27/07/14, 11:18:48
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
Es que la cámara no se abre así, cada fabricante (incluso cada modelo) les ponen nombres distintos a las cámaras. Si ese Package te funciona en el S4 supongo que será o porque usas una ROM AOSP o porque tienes instalada la cámara de Google.

El Intent que tienes que usar es este:

Intent(MediaStore.ACTION_IMAGE_CAPTURE)

Por cierto, si vas a usar la cámara de forma "externa" no necesitas que tu aplicación tenga permiso de cámara, esto es sólo si tu aplicación gestiona ella misma la cámara.
Responder Con Cita
  #3  
Viejo 27/07/14, 20:06:49
Avatar de mamba1233
mamba1233 mamba1233 no está en línea
Usuario novato en la web
Mensajes: 2
 
Fecha de registro: jul 2014
Mensajes: 2
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Cita:
Originalmente Escrito por kriogeN Ver Mensaje
Es que la cámara no se abre así, cada fabricante (incluso cada modelo) les ponen nombres distintos a las cámaras. Si ese Package te funciona en el S4 supongo que será o porque usas una ROM AOSP o porque tienes instalada la cámara de Google.

El Intent que tienes que usar es este:

Intent(MediaStore.ACTION_IMAGE_CAPTURE)

Por cierto, si vas a usar la cámara de forma "externa" no necesitas que tu aplicación tenga permiso de cámara, esto es sólo si tu aplicación gestiona ella misma la cámara.
Si entiendo que que para abrir la CAMARA deberia usar este codigo
Intent(MediaStore.ACTION_IMAGE_CAPTURE)

pero el problema es que con ese codigo solo me habre la CAMARA PARA TOMAR FOTOS no tengo opcion para video ni para algunos ajustes tb para guardar y muchas otras cosas mas, en si lo quiero es que mi aplicacion pueda abrir la APLICACION de la CAMARApredefinida en el CEL, no quiero capturar mas informacion de la camara mi objeitivo final es solo abrir LA CAMARA con todos sus opciones que viene en el predifinido.

Pero lo que no entiendo es que en teoria deberia abrir sin ningun problema ya que estoy poniendo el nombre del PACKAGE que uso en mi galaxy mini que viene siendo el mismo nombre del package del S4 que yo sepa el nombre del package nunca cambia sea cual sea la version, y yo descompile la APP CAMARA de mi galaxi mini para aseguramente que el nombre del package es el mismo y justamente es el mismo nombre em ambas versiones. entonces con la funcion para abrir una app por medio del package deberia dar sin problemas. pero mmm nose que le pasa. probe abriendo otras aplicaciones desde el galaximini con el nombre del package y si abren sin problemas solo tengo problemas con la camara, debe ver algo que me este falando.
Responder Con Cita
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Programación y Desarrollo para Android


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 20:23:44 (GMT +1)

Cookies
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007