Error receiving broadcast Intent

Pagi agan2, mau tanya saya mau buat auto update apklikasi jika file .apknya sudah terdownload untuk downloadnya suda berhasil tapi untuk update installasinya engga bisa, langsung force close aplikasi, targetSDKnya 28 dan Smartphone saya suda os Oreo. ini funsi update saya :

 public void Update() {
        String destination = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + "/";
        String fileName = "bakul.apk";
        destination += fileName;
        final Uri uri = Uri.parse("file://" + destination);

        //Delete update file if exists
        File file = new File(destination);
        if (file.exists())
            //file.delete() - test this, I think sometimes it doesnt work
            file.delete();

        //get url of app on server
        final String url = "http://192.168.87.87.com/bakul.apk";

        //set downloadmanager
        DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));

        //set destination
        request.setDestinationUri(uri);

        // get download service and enqueue file
        final DownloadManager manager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
        final long downloadId = manager.enqueue(request);

        //set BroadcastReceiver to install app when .apk is downloaded
        BroadcastReceiver onComplete = new BroadcastReceiver() {
            public void onReceive(Context ctxt, Intent intent) {
                Intent install = new Intent(Intent.ACTION_VIEW);
                install.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
                install.setDataAndType(uri,"application/vnd.android.package-archive");
                startActivity(install);
                unregisterReceiver(this);
                finish();
            }
        };
        //register receiver for when .apk download is compete
        registerReceiver(onComplete, new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE));
    }
avatar gustiErl
@gustiErl

1 Kontribusi 0 Poin

Diperbarui 5 tahun yang lalu

1 Jawaban:

Error logcat nya bagaimana gan?

Kalau tidak salah, untuk otomatis update kalau ada peningkatan versi wajib melalui "build.gradle" level app nya. Kita tambah/increase "versionCode" nya yang sebelumnya dari 1, jadi dua.

mungkin link ini bisa membantu : <a href='https://developer.android.com/studio/publish/versioning?hl=id '>Version your app</a>

avatar IfanZalukhu
@IfanZalukhu

217 Kontribusi 158 Poin

Dipost 5 tahun yang lalu

Login untuk ikut Jawaban