entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Error al llamar un paquete desde la Play Store

Hola, en mi pregunta anterior hacía referencia de implementar Barcode sin usar otra app.

He decidido haceelo de las 2 maneras: Dentro de la app implementado y haciendo uso de una tercera aplicación.

Para eso necesita checa si está instalada la app, si no lo está, debe de mandar a la Play Store para descargarla, lo tengo así:

package com.appco.sample_projecta;

import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    private Context co;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button button = (Button) findViewById(R.id.button);

        button.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                Toast.makeText(MainActivity.this, "Método Probar()", Toast.LENGTH_LONG).show();
                probar();
            }
        });

    }

public void probar() {
   boolean installed = appInstalledOrNot("com.google.zxing.client.android");
    if (installed) {
        /*Revisa si está instalado*/
        Intent LaunchIntent = getPackageManager()
                .getLaunchIntentForPackage("com.google.zxing.client.android");
        startActivity(LaunchIntent);

        Toast.makeText(this, "Si está instalado", Toast.LENGTH_LONG).show();
    } else {
        System.out.println("No");
        Toast.makeText(this, "No está instalado", Toast.LENGTH_LONG).show();
        aaa();
    }

}
    private boolean appInstalledOrNot(String uri) {
        PackageManager pm = getPackageManager();
        boolean app_installed;
        try {
            pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES);
            app_installed = true;
        }
        catch (PackageManager.NameNotFoundException e) {
            app_installed = false;
        }
        return app_installed;
    }

 //Aquí abre la Play Store para descargar, pero no me funciona :(
        private void aaa(){

            final String appPackageName = getPackageName(); 
            try {
                startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName)));
            } catch (android.content.ActivityNotFoundException anfe) {
                startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + appPackageName)));
            }
        }

    }

Al momento entrar a la playstore dice: "No se encontró el elemento, intentar nuevamente".

Si me pueden ayudar a mejorar el código o alguna sugerencia, muchas gracias.

0voto

x4mp73r comentado

Ya eh resuelto el problema, que tonto, es muy simple, a continuación lo correcto:

 private void aaa(){

            final String appPackageName = "com.google.zxing.client.android"; // Aquí hay que colocar el package de la app que quieran
            try {
                startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName)));
            } catch (android.content.ActivityNotFoundException anfe) {
                startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + appPackageName)));
            }
        }

Igual sirve para los que tengan alguna duda, aquí va estar publicado la solución.

1 Respuesta

1voto

AdanCervera Puntos2360

Una vez vi una libreria no se si es para generar o leer codigos de barras te paso la liga
https://android-arsenal.com/details/1/55

checala igual te sirve, no he tenido tiempo de probarla pero igual te paso el dato esperando sea de ayuda.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta