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.
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.
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();
}
}
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
来源:https://stackoverflow.com/questions/39103077/how-to-install-the-barcode-scanning-library-without-a-google-account