小编sme*_*asn的帖子

Angular 4.3 HttpClient分块上传

我必须处理大量文件上传(超过4GB)。目前,我正在使用新的HttpClient。是否可以在Angular 4.3的新HttpClient模块中为分块上载设置选项?我找到了带有ng-file-upload模块的Angularjs解决方案。不幸的是,它不适用于角度4。谢谢您的帮助。

file-upload chunks chunked-encoding angular angular4-httpclient

5
推荐指数
0
解决办法
492
查看次数

Xamarin Android 10 Install APK-未找到活动可处理意图

我想从我的xamarin android应用程序的文件系统中安装一个第三方应用程序。我在Android 10之前成功使用的代码非常简单明了。

            Intent intent = new Intent(Intent.ActionView);
            Uri data = Uri.FromFile(file);

            intent.SetDataAndType(data, "application/vnd.android.package-archive");

            context.StartActivity(intent);
Run Code Online (Sandbox Code Playgroud)

由于ACTION_VIEW和ACTION_INSTALL_PACKAGE在Android 10中已弃用,因此该代码在Android 10上不起作用。看来我们现在需要使用PackageInstaller API。

我试图使用PackageInstaller API编写方法。不幸的是,它不起作用。

使用PackageInstaller API进行编码

 public static void InstallPackageAndroidQAndAbove(Context context, string filePath, string packageName)
    {

        var packageInstaller = context.PackageManager.PackageInstaller;
        var sessionParams = new PackageInstaller.SessionParams(PackageInstallMode.FullInstall);
        sessionParams.SetAppPackageName(packageName);
        int sessionId = packageInstaller.CreateSession(sessionParams);
        var session = packageInstaller.OpenSession(sessionId);

        var input = new FileStream(filePath, FileMode.Open, FileAccess.Read);
        var output = session.OpenWrite(packageName, 0, -1);

        input.CopyTo(output);

        output.Close();
        input.Close();
        input.Dispose();

        session.Fsync(output);

        var pendingIntent = PendingIntent.GetBroadcast(context, sessionId, new Intent(Intent.ActionInstallPackage), 0);
        session.Commit(pendingIntent.IntentSender);

    }
Run Code Online (Sandbox Code Playgroud)

呼叫期间发生异常“无法识别的流”。 …

android apk xamarin.android android-install-apk android-10.0

5
推荐指数
1
解决办法
135
查看次数