Как установить библиотеку сканирования штрих-кода без учетной записи google?

Я хотел бы установить часть игровых сервисов google для Android на устройствах, которым не разрешено иметь подписанную учетную запись google. Традиционно, библиотека Android для Android загружается через магазин воспроизведения в качестве обновления для сервисов Google Play.

В соответствии с этим, имя пакета должно быть com.google.android.gms.vision.barcode. Я использовал adb для перечисления всех пакетов, установленных на моем корневом устройстве nexus, который загрузил библиотеку сканирования штрих-кода, а пакет не был в списке. Я надеялся вытащить сам пакет, а затем распространить его.

Спасибо за ваше время и силы.

Ответ 1

Для любой службы google вы должны зарегистрировать свое приложение на консоли.

Если вы не хотите добавлять свое приложение, вы можете использовать любой сторонний API для штрих-кода.

https://github.com/zxing/zxing

Ответ 2

Вы можете использовать реализацию библиотеки третьей части com.journeyapps:zxing-android-embedded:3.5.0

Используя эту библиотеку, вы можете легко интегрировать QR-Code и BAR Code Reader, не входя в аккаунт google.

Мой код здесь для 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();
            }
        }
    }

а также:

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();
    }
}

Ответ 3

Шаг 1. Попробуйте включить этот lib в файл с градиентом на основе приложения

Реализация com.google.android.gms:play-services-vision:11.0.2

Реализация info.androidhive:barcode-reader:1.1.2

Шаг 2. Создайте свой макет для сканирования, взяв ссылку из ссылки