Foxx
Foxx

Reputation: 133

How to install the barcode scanning library without a google account?

I would like to install the android-vision portion of google play services on devices that are not allowed to have a google account signed in. Traditionally, the android-vision library is downloaded through the play store as an update to google play services.

According to this, the package name should be com.google.android.gms.vision.barcode. I used adb to list all packages installed on my rooted nexus device that has the barcode scanning library downloaded and the package was not in the list. I was hoping to pull the package itself and then distribute it.

Thank you for your time and effort.

Upvotes: 12

Views: 4597

Answers (3)

Lovekesh Kumar
Lovekesh Kumar

Reputation: 36

Step 1 : Try including this lib in app based gradle file

Implementation com.google.android.gms:play-services-vision:11.0.2

Implementation info.androidhive:barcode-reader:1.1.2

Step 2 : Create your layout for scanning by taking reference from the link

Upvotes: 1

Rahul Kushwaha
Rahul Kushwaha

Reputation: 6752

You can use Third Part Library implementation com.journeyapps:zxing-android-embedded:3.5.0

Using this library you can easily integrate QR-Code and BAR Code Reader as well without signing in with a google account.

My code here for Bar-Code Reader:

    package com.example.elanwrap.qr_code_elan;

    import android.content.Intent;
    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;
    import com.google.zxing.integration.android.IntentIntegrator;
    import com.google.zxing.integration.android.IntentResult;

    import static android.widget.Toast.LENGTH_LONG;

    public class MainActivity extends AppCompatActivity {

        Button button;
        //CREATING OBJECT
        private IntentIntegrator qrCode;

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

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

            qrCode = new IntentIntegrator(this);

            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                   //  start the Scan here
                    qrCode.initiateScan();
                }
            });
        }

        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            IntentResult intentResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
            super.onActivityResult(requestCode, resultCode, data);
            if (intentResult != null) {
             //passing result to another Activity.
            //    Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(intentResult.getContents() + ""));
                Intent browserIntent = new Intent(this, Result_activity.class );
                browserIntent.putExtra("rah",(intentResult.getContents()+""));
                startActivity(browserIntent);



            } else {
                Toast.makeText(getApplicationContext(), " Empty Result ", Toast.LENGTH_SHORT).show();
            }
        }
    }

and:

package com.example.elanwrap.qr_code_elan;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.widget.TextView;
import android.widget.Toast;

public class Result_activity extends Activity {
    TextView textView;
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.result_activity);
        textView=(TextView)findViewById(R.id.details);
        Intent intent = getIntent();
        String str = intent.getStringExtra("rah");
        textView.setText(str);
        Toast.makeText(this, str, Toast.LENGTH_SHORT).show();
    }
}

Upvotes: 2

ViramP
ViramP

Reputation: 1709

For any google service,you should register your add app at console.

If you don't want to add your app then you can use any third party API for barcode.

https://github.com/zxing/zxing

Upvotes: 3

Related Questions