小编cas*_*orz的帖子

广告不可见.没有刷新广告.屏幕关闭后

我注意到屏幕关闭后我收到以下消息:

I/Ads? Ad is not visible. Not refreshing ad.
I/Ads? Scheduling ad refresh 60000 milliseconds from now.
Run Code Online (Sandbox Code Playgroud)

我在里面有以下代码onResume:

    if (adView != null) {
        adView.resume();
    }
Run Code Online (Sandbox Code Playgroud)

我对代码进行了调整,它确实被调用了.如果我退出活动并重新进入,它也可以正常工作,唯一的问题似乎是在屏幕关闭后返回时.

有这个问题的其他人吗?

谢谢.

编辑:我用来创建广告和请求的代码

    adView = new AdView(this);
    adView.setAdSize(AdSize.BANNER);
    adView.setAdUnitId(id);
    LinearLayout layout = (LinearLayout) findViewById(R.id.main_layout);
    layout.addView(adView);
    createAdRequest();
Run Code Online (Sandbox Code Playgroud)

代码createAdRequest():

    AdRequest.Builder builder = new AdRequest.Builder();
    builder.addKeyword(somekeyword);
    AdRequest adRequest = builder.build();
    adView.loadAd(adRequest);
Run Code Online (Sandbox Code Playgroud)

我注意到其他一些奇怪的东西,createAdRequest如果我注意到关键字已经改变,我有时会再次打电话,在我拨打电话后,广告似乎也停止了刷新,但这次我看不到任何可见性消息,我只是不喜欢再见,直到我createAdRequest再打电话.

android admob

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

如何从Java与ADFS对话?

我们有一个在Caucho Resin上运行的网站.该站点的绝大部分是JSP/Java.我们在网站上拥有自己的自定义身份验证,这意味着我们没有使用任何第三方身份验证框架.我们托管网站,而不是我们的客户.

我们的大客户希望让他们的用户使用他们的活动目录凭据登录我们的站点.为此,我假设我将使用SAML与ADFS对话,如果错误,请纠正我.

所以我的问题是我如何用Java做到这一点?据我所知,OpenSAML听起来并不能完成所有事情,如果我想要更多,那么我需要使用Shibboleth.还有其他选择吗?如果我想要的是用户能够登录,我最好的选择是什么?

任何信息都会有帮助.谢谢.

编辑:我刚刚发现另一种选择是OAuth.优点?缺点?

java adfs saml shibboleth opensaml

7
推荐指数
2
解决办法
2万
查看次数

RecyclerView:java.lang.IndexOutOfBoundsException:检测到不一致.商品位置无效

我已经开始在Crashlytics上报告这次崩溃了.我不知道如何重现它,但它似乎都是内部的代码RecyclerView.我认为这来自于RecyclerView我从未真正改变过的.用户可以刷新它,但随后所有项目都被替换并被notifyDataSetChanged调用.

java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid item position 5(offset:5).state:7
       at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4041)
       at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:3999)
       at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:1892)
       at android.support.v7.widget.GridLayoutManager.layoutChunk(GridLayoutManager.java:419)
       at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1301)
       at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:534)
       at android.support.v7.widget.GridLayoutManager.onLayoutChildren(GridLayoutManager.java:156)
       at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:2365)
       at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:2709)
       at android.view.View.layout(View.java:15125)
       at android.view.ViewGroup.layout(ViewGroup.java:4862)
       at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1160)
       at android.view.View.layout(View.java:15125)
       at android.view.ViewGroup.layout(ViewGroup.java:4862)
       at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1888)
       at android.widget.LinearLayout.layoutHorizontal(LinearLayout.java:1877)
       at android.widget.LinearLayout.onLayout(LinearLayout.java:1653)
       at android.view.View.layout(View.java:15125)
       at android.view.ViewGroup.layout(ViewGroup.java:4862)
       at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1160)
       at android.view.View.layout(View.java:15125)
       at android.view.ViewGroup.layout(ViewGroup.java:4862)
       at android.widget.FrameLayout.layoutChildren(FrameLayout.java:515)
       at android.widget.FrameLayout.onLayout(FrameLayout.java:450)
       at android.view.View.layout(View.java:15125)
       at android.view.ViewGroup.layout(ViewGroup.java:4862)
       at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:907)
       at android.view.View.layout(View.java:15125)
       at android.view.ViewGroup.layout(ViewGroup.java:4862)
       at android.widget.FrameLayout.layoutChildren(FrameLayout.java:515)
       at android.widget.FrameLayout.onLayout(FrameLayout.java:450)
       at android.view.View.layout(View.java:15125)
       at android.view.ViewGroup.layout(ViewGroup.java:4862) …
Run Code Online (Sandbox Code Playgroud)

android android-appcompat android-recyclerview

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

我的应用程序不会出现在android.intent.action.VIEW的选择器对话框中,只有在棉花糖上才有mime类型的视频/*

基本上,当一个应用程序共享一个视频网址时,我的应用程序应该显示在列表中,但事实并非如此.MXPlayer和谷歌照片媒体播放器都没有显示好和全播(最近有一个版本来解决这个问题).

我写了一个快速的应用来测试这个问题,这里是我的清单过滤器:

<intent-filter>
    <action android:name="android.intent.action.MAIN"/>
    <category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>

<intent-filter>
    <category android:name="android.intent.category.DEFAULT"/>
    <data android:mimeType="text/plain"/>
    <data android:mimeType="video/*"/>
    <data android:mimeType="audio/*"/>
    <data android:mimeType="image/*"/>
    <action android:name="android.intent.action.SEND"/>
</intent-filter>

<intent-filter>
    <category android:name="android.intent.category.DEFAULT"/>
    <category android:name="android.intent.category.BROWSABLE"/>
    <data android:mimeType="video/*" android:scheme="http"/>
    <data android:mimeType="audio/*" android:scheme="http"/>
    <data android:mimeType="image/*" android:scheme="http"/>
    <data android:mimeType="video/*" android:scheme="https"/>
    <data android:mimeType="audio/*" android:scheme="https"/>
    <data android:mimeType="image/*" android:scheme="https"/>
    <data android:mimeType="video/*" android:scheme="file"/>
    <data android:mimeType="audio/*" android:scheme="file"/>
    <data android:mimeType="image/*" android:scheme="file"/>
    <action android:name="android.intent.action.VIEW"/>
</intent-filter>

<intent-filter>
    <category android:name="android.intent.category.DEFAULT"/>
    <category android:name="android.intent.category.BROWSABLE"/>
    <data android:host="*" android:pathPattern=".*\\.mp4" android:scheme="http"/>
    <action android:name="android.intent.action.VIEW"/>
</intent-filter>
Run Code Online (Sandbox Code Playgroud)

这是重现问题的代码:

Intent intent = new Intent("android.intent.action.VIEW");
intent.setDataAndType(Uri.parse("http://media.w3.org/2010/05/sintel/trailer.mp4"),"video/*");
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

这只是Marshmallow的一个问题.

编辑:我应该补充一点,并非所有棉花糖设备都这样做.我第一次听说它时花了很长时间才重现它,有一天它刚刚开始在我的Nexus 5上发生.我的6P将无法重现这一点. …

android android-intent android-filter android-6.0-marshmallow android-intent-chooser

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

Google Play In-app Billing API version is less than 3

I just started beta testing the 2.0 update to the billing library for the Play Store and a lot of my users are getting this error Google Play In-app Billing API version is less than 3.

这只是更新之前的时间问题,还是某些设备卡在旧版本上还是什么?

android android-billing android-inapp-purchase

7
推荐指数
3
解决办法
918
查看次数

是否有使用字幕的 ExoPlayer + Leanback 库示例?

我已经找到了几个例子,随着工作LeanbackExoPlayer我有所有的工作,但我不能让字幕/字幕的工作。我能找到的最新 Google 示例(https://github.com/android/tv-samples)在 Java 示例上有一个标题按钮,但它们从未出现。Kotlin 示例有一条评论说// TODO(owahltinez): handle captions.

我已经对其中一个样本进行了这些更改,但没有帮助:

private void prepareMediaForPlaying(Uri mediaSourceUri) {
        String userAgent = Util.getUserAgent(getActivity(), "VideoPlayerGlue");
        DefaultDataSourceFactory defaultDataSourceFactory = new DefaultDataSourceFactory(getActivity(), userAgent);
        MediaSource mediaSource =
                new ExtractorMediaSource(
                        mediaSourceUri,
                        defaultDataSourceFactory,
                        new DefaultExtractorsFactory(),
                        null,
                        null);
        String subtitle = "https://subtitledomain/sintel-en.vtt";
        Uri uriSubtitle = Uri.parse(subtitle);
        MediaSource subtitleMediaSource = new SingleSampleMediaSource.Factory(defaultDataSourceFactory)
                .createMediaSource(uriSubtitle, Format.createTextSampleFormat(null, MimeTypes.TEXT_VTT, C.SELECTION_FLAG_FORCED, "n/a"), C.TIME_UNSET);
        mediaSource = new MergingMediaSource(mediaSource, subtitleMediaSource);
        mPlayer.prepare(mediaSource);
    }
Run Code Online (Sandbox Code Playgroud)

还有这个变化:

    mTrackSelector = new DefaultTrackSelector(videoTrackSelectionFactory);
    DefaultTrackSelector.Parameters parameters = mTrackSelector.getParameters(); …
Run Code Online (Sandbox Code Playgroud)

android android-tv exoplayer amazon-fire-tv exoplayer2.x

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

viewHolder.getAdapterPosition()始终返回-1

由于某种原因,我无法使用,holder.getAdapterPosition()因为它总是返回-1但holder.getLayoutPosition()返回一个位置就好了.

我的onCreateViewHolder:

@覆盖

public ViewHolder onCreateViewHolder(ViewGroup parent,
                                     int viewType) {
    // create a new view
    View v = LayoutInflater.from(parent.getContext())
            .inflate(R.layout.my_item, parent, false);


    ViewHolder vh = new ViewHolder(this, v);
    return vh;
}
Run Code Online (Sandbox Code Playgroud)

我的ViewHolder构造函数:

public ViewHolder(DirectoryListAdapter adapter, View linear) {
            super(linear);
            this.adapter = adapter;
            this.linear = (LinearLayout) linear;
            this.entryName = (TextView) linear.findViewById(R.id.item_name);
            this.entryImage = (ImageView) linear.findViewById(R.id.item_image);

}
Run Code Online (Sandbox Code Playgroud)

我看起来更远,getAdapterPosition看起来像这样:

 public final int getAdapterPosition() {
            final ViewParent parent = itemView.getParent();
            if (!(parent instanceof RecyclerView)) {
                return -1;
            } …
Run Code Online (Sandbox Code Playgroud)

android android-support-library android-viewholder android-recyclerview

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

如何在将在 RemoteView 中使用的可绘制对象上设置滤色器?

我有一个必须应用过滤器的ImaveViewon a 。RemoteView当我不在的时候,RemoteView这就是我所做的,而且效果很好:

    Drawable icon = getResources().getDrawable(R.drawable.icon);
    icon.setColorFilter(color, PorterDuff.Mode.SRC_IN);
    image.setImageDrawable(icon);
Run Code Online (Sandbox Code Playgroud)

似乎RemoteView没有办法让我设置不是资源的可绘制对象。我该怎么做呢?

谢谢。

android android-widget android-notifications remoteview android-remoteview

6
推荐指数
2
解决办法
3395
查看次数

android.support.v7.graphics.Palette宽度和高度必须> 0

我有一些使用新Palette类的代码,我在Crashlytics上得到这些崩溃报告说的width and height must be > 0.奇怪的是,这就是我调用调色板代码的方式:

if( bitmap == null || bitmap.getHeight() <= 0 || bitmap.getWidth() <= 0){
   //do something
}else{
   Palette.Builder(bitmap).generate(new Palette.PaletteAsyncListener() {
.....
}
Run Code Online (Sandbox Code Playgroud)

所以我只是不确定突然的位图是否有可能没有正确的高度或宽度.我不知道异常来自哪个代码,因为报告只包含调色板类中的内容.

这是一个例外:

java.lang.RuntimeException: An error occured while executing doInBackground()
       at android.os.AsyncTask$3.done(AsyncTask.java:300)
       at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
       at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
       at java.util.concurrent.FutureTask.run(FutureTask.java:242)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
       at java.lang.Thread.run(Thread.java:818)
Caused by: java.lang.IllegalArgumentException: width and height must be > 0
       at android.graphics.Bitmap.createBitmap(Bitmap.java:815)
       at android.graphics.Bitmap.createBitmap(Bitmap.java:794)
       at android.graphics.Bitmap.createBitmap(Bitmap.java:725)
       at android.graphics.Bitmap.createScaledBitmap(Bitmap.java:601)
       at android.support.v7.graphics.Palette.scaleBitmapDown(Palette.java:282)
       at android.support.v7.graphics.Palette.access$100(Palette.java:67)
       at android.support.v7.graphics.Palette$Builder.generate(Palette.java:557)
       at android.support.v7.graphics.Palette$Builder$1.doInBackground(Palette.java:623) …
Run Code Online (Sandbox Code Playgroud)

android android-support-library android-palette

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

有没有办法以编程方式从 locales_config.xml 获取语言列表?

我对 Android 13 上的这种新语言感到非常困惑。

我有一个locales_config.xml文件,工作正常,但文档听起来像是我可以使用它LocaleListCompat来让 Android 12 或更早版本的用户选择语言。

然而,除了解析 XMl 之外,我还没有找到任何方法来查询列出的所有语言locales_config.xml,但这感觉不对,而且语言的名称不会被翻译。

那么我应该如何为用户提供语言选择locales_config.xml呢?

android android-locale

6
推荐指数
0
解决办法
279
查看次数