小编use*_*631的帖子

Android firebase 动态链接在启动应用程序之前打开浏览器

我一直在为我的应用程序使用 firebase 动态链接,最近遇到了这样的问题:单击链接时,不是打开用于打开应用程序的选择视图(我可以在其中选择我的应用程序),而是启动首先打开浏览器一瞬间,然后出现一个小的加载屏幕,然后启动应用程序。

在此输入图像描述

这会导致以前没有发生过的非常令人不快的抖动,我不确定什么可能会突然导致这种情况(我没有更改代码)。在此问题之前和之后的唯一变化是将我的手机更新到 android 版本 12,并将 gradle 更新为使用compileSdkVersion 和 targetSdkVersion 30。

以防万一,我构建发送链接的代码:

 Intent sendIntent = new Intent();
        sendIntent.setAction(Intent.ACTION_SEND)
                .setType("text/plain")
                .setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);

        // Construct dynamic link
        String link = ParametersConventions.PREFIX
                + "&"
                + ParametersConventions.PARAMETER
                + "="
                + DATA
                + ParametersConventions.POSTFIX;

        DynamicLink.Builder builder = FirebaseDynamicLinks.getInstance().createDynamicLink();
        builder.setLink(Uri.parse(link));
        builder.setAndroidParameters(new DynamicLink.AndroidParameters.Builder("com.my.package").build());
        builder.setDomainUriPrefix(ParametersConventions.DOMAIN_PREFIX);
        DynamicLink.SocialMetaTagParameters.Builder metaTagsBuilder = new DynamicLink.SocialMetaTagParameters.Builder();
        metaTagsBuilder.setTitle("title");
        metaTagsBuilder.setDescription("descp");

        builder.buildShortDynamicLink().addOnSuccessListener(shortDynamicLink -> {
                sendIntent.putExtra(Intent.EXTRA_TEXT, shortDynamicLink.getShortLink().toString());
                Intent shareIntent = Intent.createChooser(sendIntent, null);
                startActivity(shareIntent);
            }).addOnFailureListener(e -> {
                
            });
        
Run Code Online (Sandbox Code Playgroud)

如果有人遇到它\知道我如何修复它,我将非常感谢您的帮助。这是否与该应用程序尚未出现在 Google 应用商店有关?

android firebase firebase-dynamic-links

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

基于int数组创建WritableRaster

我需要一个int数组并将其转换为BufferImage.我真的没有任何关于这个主题的背景知识我从互联网上学到了所有这就是我要做的事情:从BufferedImage创建一个数组(完成),将这个数组转换为IntBuffer(完成) - (后来我"马上要做通过IntBuffer图像上的一些opertions),把更改后的值从IntBuffer在新阵列(完成),并把这个数组的WritableRaster.(如果在我的过程中有些不对劲,请告诉我)

这是我处理WritableRaster的行:

WritableRaster newRaster= newRaster.setPixels(0, 0, width, height, matrix);
Run Code Online (Sandbox Code Playgroud)

Eclipse将此标记为错误并说''类型不匹配:无法从void转换为WritableRaster"

请帮忙!我有点迷茫.

也很抱歉英语不好.

编辑:矩阵:

         int height=img.getHeight();
         int width=img.getWidth();
         int[]matrix=new int[width*height];
Run Code Online (Sandbox Code Playgroud)

我尝试将值插入Raster的代码部分:

    BufferedImage finalImg = new BufferedImage(width,height, BufferedImage.TYPE_INT_RGB);
    WritableRaster newRaster= (WritableRaster)finalImg.getData();
    newRaster.setPixels(0, 0, width, height, matrix);
Run Code Online (Sandbox Code Playgroud)

错误消息:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10769
at java.awt.image.SinglePixelPackedSampleModel.setPixels(Unknown Source)
at java.awt.image.WritableRaster.setPixels(Unknown Source)
Run Code Online (Sandbox Code Playgroud)

java raster image-processing

3
推荐指数
1
解决办法
4625
查看次数