小编Mig*_*ieC的帖子

Firebase崩溃报告错误:客户端应用程序com.xxxx被阻止

我已经在我的项目中成功实施了FCM和Firebase分析,但我发现使用Firebase崩溃报告时出错,我不知道我缺少什么.

我只是尝试在官方教程之后使用Firebase崩溃报告并收到此错误:
在此输入图像描述 它说:

服务器未收到报告:原始错误消息:来自此Android客户端应用程序com.xxxxxx的请求被阻止.

在谷歌和这里(堆栈溢出)挖掘后,我发现了一些相关的问题( 链接1, 链接2, 链接3),但他们的解决方案都不适合我.我的意思是,有人谈论检查API_KEY,其他人谈论在控制台中启用检查崩溃报告,列表继续.在发布此问题之前,我已尝试过这些答案.

更新:为那些不想看上面链接的人解释一下:我尝试更新google-services.json文件更改API_KEY,删除并再次添加SHA1,将API_KEY留空等等.下载google-services.json我做的每一次改变的文件没有运气.

我的google-services.json文件中的API_KEY如下所示:

"api_key": [
    {
      "current_key": "AIzaxxxxxxxxxxzxxxxxx"
    },
    {
      "current_key": "AIzaxxxxxxxxxxxxxx"
    }
  ],
Run Code Online (Sandbox Code Playgroud)

我检查了我的google-service.json是否有调试并释放SHA1.

更新 奇怪的是,我在分析部分收到报告,您可以在下一个屏幕截图中看到:

在此输入图像描述



console.developers.google.com中查看项目我发现我启用了 Mobile Crash和Performance Reporting API (您可以在以下屏幕截图中看到):

在此输入图像描述

点击"Mobile Crash and Performance Reporting API"后,我得到了这个: 在此输入图像描述 上图显示了2张图片:完成了"Mobile Crash and Performance Reporting API"的所有流量以及API处理的错误.你可以看到它说我的所有请求都是403错误(你可以看到它说的地方403:0.0004):这是真的,我已经尝试了4次,而且所有时间我都遇到了同样的控制台错误.

不知道发生了什么或我错过了什么

如果您需要有关gradle app文件的信息来帮助我,请按以下步骤操作:

编译'com.google.firebase:firebase-core:10.0.1'
编译'com.google.firebase:firebase-messaging:10.0.1'compile'c​​om.google.firebase
:firebase-crash:10.0.1'compile
' com.google.android.gms:play-services-maps:10.0.1'compile'c​​om.google.android.gms
:play-services-location:10.0.1'compile'c​​om.google.android.gms
:play-服务意识:10.0.1'

android http-status-code-403 firebase firebase-crash-reporting

15
推荐指数
1
解决办法
1764
查看次数

Android Apply Palette

我正在尝试使用androids材料设计的调色板功能,但我在应用它时遇到了一些麻烦.

我已经成功生成了调色板,现在我试图将调色板传递给应用它的函数.

我遇到的问题是,当我将调色板传递给applyPalette函数时,没有任何方法palette.getDarkMutedColor().getRgb() , palette.getVibrantColor().getRgb()会使用调色板中的值填充.

我正在关注的教程没有提及其他任何其他内容,然后将调色板传递给函数,并且这样做将填充方法

这是生成器功能和应用功能,任何人都可以看到为什么这不起作用?

private void colorize(Bitmap photo) {
    Palette palette = new Palette.Builder(photo).generate();
    applyPalette(palette);
}

private void applyPalette(Palette palette) {
    getWindow().setBackgroundDrawable(new ColorDrawable(palette.getDarkMutedColor().getRgb()));

    TextView titleView = (TextView) findViewById(R.id.title);
    titleView.setTextColor(palette.getVibrantColor().getRgb());

    TextView descriptionView = (TextView) findViewById(R.id.description);
    descriptionView.setTextColor(palette.getLightVibrantColor().getRgb());

    colorRipple(R.id.info, palette.getDarkMutedColor().getRgb(),
            palette.getDarkVibrantColor().getRgb());
    colorRipple(R.id.star, palette.getMutedColor().getRgb(),
            palette.getVibrantColor().getRgb());

    View infoView = findViewById(R.id.information_container);
    infoView.setBackgroundColor(palette.getLightMutedColor().getRgb());

    AnimatedPathView star = (AnimatedPathView) findViewById(R.id.star_container);
    star.setFillColor(palette.getVibrantColor().getRgb());
    star.setStrokeColor(palette.getLightVibrantColor().getRgb());
}
Run Code Online (Sandbox Code Playgroud)

android android-palette

9
推荐指数
1
解决办法
667
查看次数

如何检测android先前API 17中的外部显示

我在应用程序中使用受版权保护的视频,这些视频应仅适用于Android设备,而不适用于通过HDMI或无线连接的外部显示器.我找到了很棒的API PresentationDisplayManager来检测和控制要在外部显示器上显示的内容,但是这个API仅在API 17(android 4.2)和plus中可用.任何想法如何在android 4.2下面执行此操作或至少检测并通知连接的显示.

问题2:如果Android设备连接到PC进行屏幕录制怎么办?能否介绍DISPLAYMANAGER API帮助检测?

android display-manager

7
推荐指数
1
解决办法
1555
查看次数

单击支持库25.1.0后,TextInputEditText上的密码切换按钮消失

我有一个TextInputEditText结合TextInputLayoutandroid:inputType="textPassword"运用app:passwordToggleEnabled="true",以显示在密码切换按钮TextInputEditText像下一张图片:

密码切换按钮示例
问题是,一旦我按下密码切换按钮,它就永远消失了.
它在com.android.support:design:24.2.0版本中运行良好.

我错过了一些新的东西吗?这是一个错误吗?

有些项目的gradle的设置:
的minSdkVersion 17
targetSdkVersion 25
编译'com.android.support:support-v4:25.1.0'
编译'com.android.support:appcompat-v7:25.1.0'
编译"com.android.support:cardview -V7:25.1.0'
编译'com.android.support:design:25.1.0'

在2个不同的Android 6.0(棉花糖)装置运行.

XML:

<android.support.design.widget.TextInputLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/TextLabelGray"
    app:passwordToggleEnabled="true">

    <android.support.design.widget.TextInputEditText
        android:id="@+id/profile_field_password"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="@string/perfil_field_password"
        android:inputType="textPassword"
        android:maxLines="1"
        android:maxLength="100"
        android:imeOptions="actionNext"
        android:imeActionLabel="@string/perfil_field_tipo_documento"
        android:textColor="@color/colorAccent"
        android:textSize="@dimen/perfil_text_view_text_size"
        android:paddingStart="15dp"
        android:paddingEnd="5dp"/>
</android.support.design.widget.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)

如果我使用app:passwordToggleDrawable自定义drawable,TextInputLayout它不会消失.

相关风格:

<style name="TextLabelGray" parent="TextAppearance.AppCompat">
    <!--//hint color And Label Color in False State-->
    <item name="android:textColorHint">@color/gray_text_color</item>
    <item name="android:textColorHighlight">@color/gray_text_color</item>
    <item name="android:textColorLink">@color/gray_text_color</item>
    <item name="colorAccent">@color/gray_text_color</item>
    <item name="colorControlNormal">@color/gray_text_color</item>
    <item name="colorControlActivated">@color/gray_text_color</item>
</style> …
Run Code Online (Sandbox Code Playgroud)

android android-support-library android-inputtype android-textinputedittext

6
推荐指数
1
解决办法
5227
查看次数

使用系统警报窗口按下事件

我需要关闭back按下和home按钮事件的系统警报窗口.我试过onKeyEvent但是徒劳无功.由于我们无法捕获服务中的back按下事件,如何实现这一目标?

android back-button android-homebutton

5
推荐指数
2
解决办法
3238
查看次数

Galaxy Note 5:自动降低密度

我创建了一个依赖某些屏幕指标来运行的应用程序。它在除 Galaxy Note 5 之外的所有设备上都能正常工作。在 Note 5 上,它报告的屏幕尺寸为 1080x1920,而实际屏幕尺寸为 1440x2560。我还在 logcat 中看到以下消息:

\n\n

“ActivityThread\xef\xb9\x95 将默认密度从 560 切换到 420”

\n\n

我通过在以下代码中调用 getWindowVisibleDisplayFrame 来查找屏幕尺寸:

\n\n
Rect usable_rect = new Rect();\nWindow window = activity.getWindow();\nwindow.getDecorView().getWindowVisibleDisplayFrame(usable_rect);\n
Run Code Online (Sandbox Code Playgroud)\n\n

另一个奇怪的观察结果是,如果我使用除我发布的应用程序的包名称之外的包名称,则会返回正确的指标。请帮忙!

\n

android screen-size galaxy

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

自定义持久性底部工作表STATE_EXPANDED高度或偏移量

就像标题所说,无论如何,当它处于STATE_EXPANDED状态时,是否还要自定义官方bottomSheet(支持库23.xx)的大小/高度/偏移量?

有一个班级,BottomSheetBehavior但我找不到任何有关身高或偏移的信息.

我想要的是获得类似谷歌地图的行为:

就像你在这个gif中看到的那样

android offset android-support-library android-coordinatorlayout bottom-sheet

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

所有FirebaseAnalytics setCurrentScreen()事件均记录在view_item下

我能够将自定义事件记录到Firebase Analytics,但是尝试按照官方文档docs 2所说的跟踪我的自定义视图,我的所有日​​志都处于view_item事件记录器之下。

在firebase的发布新闻中,我发现了这一点:

除了自动屏幕跟踪之外,您还可以使用FirebaseAnalytics#setCurrentScreen方法手动跟踪屏幕。这会将firebase_screen参数添加到应用程序用户可见的所有记录的事件中。

如果我想跟踪我的看法,分析控制台应该告诉我的screenName,而不是view_item或至少screenClassOverrideValue。因为此刻我无法对该记录做任何有用的事情(甚至无法根据我的view_itemscreenClassOverride在以下屏幕截图中看到的应用过滤器)

在此处输入图片说明

这是Im如何在代码中执行此操作的示例(在TabLayout下的Fragment内):

FirebaseAnalytics.getInstance(masterActivity).setCurrentScreen(
                masterActivity,
                FirebaseAnalyticsKeys.SCREEN_NAME_ITEM_LIST_BIG_MODE,
                this.getClass().getSimpleName());
Run Code Online (Sandbox Code Playgroud)

我可以使用custom记录我的视图,logEvent()但是我只是想遵守规则以及官方文档所说的...所以,我所缺少的,我做错的或正在发生的事情

android firebase firebase-analytics

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

TextInputLayout.passwordVisibilityToggleRequested上的NullPointerException

我在Firebase崩溃报告Password toggle button中遇到了一些关于某些真实设备中处于发布模式的应用的错误.问题是堆栈跟踪错误完全与android.support.design代码类似,您将在以下从firebase控制台获取的日志中看到:

异常java.lang.NullPointerException:尝试在空对象引用上调用虚方法'int java.util.ArrayList.size()'
android.graphics.drawable.AnimatedVectorDrawable.isStarted(AnimatedVectorDrawable.java:427)
android.graphics.drawable .AnimatedVectorDrawable.start(AnimatedVectorDrawable.java:440)
android.graphics.drawable.AnimatedStateListDrawable $ AnimatedVectorDrawableTransition.start(AnimatedStateListDrawable.java:339)
android.graphics.drawable.AnimatedStateListDrawable.selectTransition(AnimatedStateListDrawable.java:226)
android.graphics.drawable .AnimatedStateListDrawable.onStateChange(AnimatedStateListDrawable.java:145)
android.graphics.drawable.Drawable.setState(Drawable.java:599)
android.support.v4.graphics.drawable.DrawableWrapperGingerbread.setState(DrawableWrapperGingerbread.java:145)
android.support .v4.graphics.drawable.DrawableWrapperLollipop.setState(DrawableWrapperLollipop.java:95)
android.widget.ImageView.drawableStateChanged(ImageView.java:1115)
android.support.v7.widget.AppCompatImageButton.drawableStateChanged(AppCompatImageButton.java:149)
android.view.View.refreshDrawableState(View.java:16052)
android.support.design.widget.CheckableImageButton.setChecked(CheckableImageButton.java:75 )
android.support.design.widget.TextInputLayout.passwordVisibilityToggleRequested(TextInputLayout.java:1293)
android.support.design.widget.TextInputLayout $ 4.onClick(TextInputLayout.java:1074)
android.view.View.performClick(View.java:4785 )
android.view.View $ PerformClick.run(View.java:19888)
android.os.Handler.handleCallback(Handler.java:739)
android.os.Handler.dispatchMessage(Handler.java:95)
android.os.Looper .loop(Looper.java:135)
android.app.ActivityThread.main(ActivityThread.java:5276)
java.lang.reflect.Method.invoke(Method.java)java.lang.reflect.Method.invoke(Method.java) :372)
com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:911)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:706)

之前我一直在跟踪与此小部件相关的一些错误,我的意思是,我发布了与密码切换可见性相关的问题,我发现了一些关于此组件的问题:

我还发现了一些关于它的AOSP问题:

现在,当用户只需按下切换按钮时,我就会收到此错误

它发生在以下真实设备中:
firebase崩溃报告的设备
关于TextInputLayout和TextInputEditText的XML及其主题:

<android.support.design.widget.TextInputLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/TextLabel"
        app:passwordToggleEnabled="true">

        <android.support.design.widget.TextInputEditText
            android:id="@+id/login_field_password"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/perfil_field_password"
            android:inputType="textPassword"
            android:maxLines="1"
            android:maxLength="100"
            android:imeOptions="actionDone"
            android:textColor="@color/colorAccent"
            android:textSize="18sp"
            android:paddingStart="15dp"
            android:paddingEnd="5dp"/> …
Run Code Online (Sandbox Code Playgroud)

android android-support-library android-support-design android-textinputlayout android-textinputedittext

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

AS找不到BottomSheetBehavior_Params,_behavior_peekHeight和_behavior_hideable

我只是将我的应用程序更新为支持库版本24.0.0,我收到一些关于BottomSheet Params的错误.
代码:

/**
 * Default constructor for inflating BottomSheetBehaviors from layout.
 *
 * @param context The {@link Context}.
 * @param attrs   The {@link AttributeSet}.
 */
public BottomSheetBehaviorGoogleMapsLike(Context context, AttributeSet attrs) {
    super(context, attrs);
    TypedArray a = context.obtainStyledAttributes(attrs,
            android.support.design.R.styleable.BottomSheetBehavior_Params);
    setPeekHeight(a.getDimensionPixelSize(
            android.support.design.R.styleable.BottomSheetBehavior_Params_behavior_peekHeight, 0));
    setHideable(a.getBoolean(android.support.design.R.styleable.BottomSheetBehavior_Params_behavior_hideable, false));
    a.recycle();
    ViewConfiguration configuration = ViewConfiguration.get(context);
    mMaximumVelocity = configuration.getScaledMaximumFlingVelocity();
}
Run Code Online (Sandbox Code Playgroud)

Android Studio找不到:

  • android.support.design.R.styleable.BottomSheetBehavior_Params
  • android.support.design.R.styleable.BottomSheetBehavior_Params_behavior_peekHeight
  • android.support.design.R.styleable.BottomSheetBehavior_Params_behavior_hideable

知道他们搬到哪里了吗?

android android-support-library android-studio android-layoutparams bottom-sheet

4
推荐指数
1
解决办法
759
查看次数