我已经在我的项目中成功实施了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'com.google.firebase
:firebase-crash:10.0.1'compile
' com.google.android.gms:play-services-maps:10.0.1'compile'com.google.android.gms
:play-services-location:10.0.1'compile'com.google.android.gms
:play-服务意识:10.0.1'
android http-status-code-403 firebase firebase-crash-reporting
我正在尝试使用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设备,而不适用于通过HDMI或无线连接的外部显示器.我找到了很棒的API Presentation和DisplayManager来检测和控制要在外部显示器上显示的内容,但是这个API仅在API 17(android 4.2)和plus中可用.任何想法如何在android 4.2下面执行此操作或至少检测并通知连接的显示.
问题2:如果Android设备连接到PC进行屏幕录制怎么办?能否介绍或DISPLAYMANAGER API帮助检测?
我有一个TextInputEditText结合TextInputLayout与android: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
我需要关闭back按下和home按钮事件的系统警报窗口.我试过onKeyEvent但是徒劳无功.由于我们无法捕获服务中的back按下事件,如何实现这一目标?
我创建了一个依赖某些屏幕指标来运行的应用程序。它在除 Galaxy Note 5 之外的所有设备上都能正常工作。在 Note 5 上,它报告的屏幕尺寸为 1080x1920,而实际屏幕尺寸为 1440x2560。我还在 logcat 中看到以下消息:
\n\n“ActivityThread\xef\xb9\x95 将默认密度从 560 切换到 420”
\n\n我通过在以下代码中调用 getWindowVisibleDisplayFrame 来查找屏幕尺寸:
\n\nRect usable_rect = new Rect();\nWindow window = activity.getWindow();\nwindow.getDecorView().getWindowVisibleDisplayFrame(usable_rect);\nRun Code Online (Sandbox Code Playgroud)\n\n另一个奇怪的观察结果是,如果我使用除我发布的应用程序的包名称之外的包名称,则会返回正确的指标。请帮忙!
\n就像标题所说,无论如何,当它处于STATE_EXPANDED状态时,是否还要自定义官方bottomSheet(支持库23.xx)的大小/高度/偏移量?
有一个班级,BottomSheetBehavior但我找不到任何有关身高或偏移的信息.
android offset android-support-library android-coordinatorlayout bottom-sheet
我能够将自定义事件记录到Firebase Analytics,但是尝试按照官方文档,docs 2所说的跟踪我的自定义视图,我的所有日志都处于view_item事件记录器之下。
在firebase的发布新闻中,我发现了这一点:
除了自动屏幕跟踪之外,您还可以使用FirebaseAnalytics#setCurrentScreen方法手动跟踪屏幕。这会将firebase_screen参数添加到应用程序用户可见的所有记录的事件中。
如果我想跟踪我的看法,分析控制台应该告诉我的screenName,而不是view_item或至少screenClassOverride在Value。因为此刻我无法对该记录做任何有用的事情(甚至无法根据我的view_item或screenClassOverride在以下屏幕截图中看到的应用过滤器)

这是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()但是我只是想遵守规则以及官方文档所说的...所以,我所缺少的,我做错的或正在发生的事情
我在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问题:
现在,当用户只需按下切换按钮时,我就会收到此错误
它发生在以下真实设备中:
关于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
我只是将我的应用程序更新为支持库版本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_Paramsandroid.support.design.R.styleable.BottomSheetBehavior_Params_behavior_peekHeightandroid.support.design.R.styleable.BottomSheetBehavior_Params_behavior_hideable知道他们搬到哪里了吗?
android android-support-library android-studio android-layoutparams bottom-sheet