小编cas*_*orz的帖子

java.util.concurrent.TimeoutException:android.view.ThreadedRenderer.finalize()在10秒后超时

我在棒棒糖上得到了这个奇怪的崩溃报告.我的应用程序基本上是一个浏览器,所以它大量使用WebView,但我不知道问题发生在那里.无论如何,崩溃报告没有提供太多有用的信息,它基本上就是我在下面粘贴的内容:

java.util.concurrent.TimeoutException: android.view.ThreadedRenderer.finalize() timed out after 10 seconds
at android.view.ThreadedRenderer.nDeleteProxy(Native Method)
at android.view.ThreadedRenderer.finalize(ThreadedRenderer.java:398)
at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:190)
at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:173)
at java.lang.Thread.run(Thread.java:818)
Run Code Online (Sandbox Code Playgroud)

有没有人见过这个?什么可能导致它?

编辑:我应该提到这是在我已经有大约10个月的应用程序上发生的,并且它始终只针对4.0+设备.该错误仅在5.0设备上报告,并且上面的堆栈跟踪是Play Store控制台给我的全部内容.

android android-5.0-lollipop

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

如何获取YouTube直播视频的实际视频网址?

有没有办法获取像这样的YouTube直播流的HLS URL https://www.youtube.com/embed/WVZpCdHq3Qg

我尝试了典型的get_video_info方法以及付费服务(http://ytapi.gitnol.com/),但它们似乎不适用于实时流.

youtube youtube-api http-live-streaming youtube-data-api youtube-livestreaming-api

28
推荐指数
3
解决办法
9万
查看次数

有没有webview的替代品?

我有一个应用程序,它大量使用webview.我的要求是能够查看html并将javascript注入正在加载的页面,甚至是iframe.我用android附带的webview完成了这个,但它的效果并不好.

那么还有其他项目可以提供相同的html5浏览体验,但是对开发人员更友好吗?是否有可能采用开源Web视图代码并构建我自己的代码或者这只是一个疯狂的想法?

谢谢.

android android-webview

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

java.lang.NullPointerException:尝试在启动通知时调用接口方法'java.util.Iterator java.lang.Iterable.iterator()'

我注意到我的一些用户正在获得此异常.我不知道如何重现它,我只有关于Crashlytics的报告.似乎深入Google的代码.在使用此代码的数千人中,只有39人有例外.

知道什么可能是错的吗?

Fatal Exception: java.lang.NullPointerException: Attempt to invoke interface method 'java.util.Iterator java.lang.Iterable.iterator()' on a null object reference
       at android.app.ApplicationPackageManager.getUserIfProfile(ApplicationPackageManager.java:2141)
       at android.app.ApplicationPackageManager.getUserBadgeForDensity(ApplicationPackageManager.java:997)
       at android.app.Notification$Builder.getProfileBadgeDrawable(Notification.java:2877)
       at android.app.Notification$Builder.hasThreeLines(Notification.java:3092)
       at android.app.Notification$Builder.build(Notification.java:3646)
       at android.support.v4.app.NotificationCompatApi21$Builder.build(NotificationCompatApi21.java:136)
       at android.support.v7.app.NotificationCompat$LollipopExtender.build(NotificationCompat.java:504)
       at android.support.v4.app.NotificationCompat$NotificationCompatImplApi21.build(NotificationCompat.java:835)
       at android.support.v4.app.NotificationCompat$Builder.build(NotificationCompat.java:1752)
       at mycode.startNotification(mycode.java:361)
Run Code Online (Sandbox Code Playgroud)

谢谢.

android android-notifications

21
推荐指数
1
解决办法
7037
查看次数

Play商店更新/安装应用程序使用的帐户不同于用户通过IAP进行的帐户

关于github上的这个错误报告https://github.com/googlesamples/android-play-billing/issues/2#issuecomment-305380836我们被要求在这里提出这个问题.

问题很简单.用户手机上有2个或更多账号,比如xyz@gmail.com和abc@gmail.com.他们安装了一个帐户为xyz@gmail.com的应用程序.他们购买了一些IAP项目.该应用程序更新,现在该应用程序在abc@gmail.com下,用户已经失去了购买.使用分阶段发布时会发生很多这种情况.

主要问题是,作为开发人员,我们不允许用户选择要购买哪个帐户或使用哪个帐户来检查购买.

第二个问题,Android上的Play商店应用会忽略在汉堡菜单上选择的用户帐户.唯一的解决方法是使用此解决方法https://github.com/googlesamples/android-play-billing/issues/2#issuecomment-259108286上描述的Play商店网站上的相同错误报告.

我不知道理想的解决方案是什么,我所知道的是,对于每次更新后都会导致大量一星评价的开发人员来说,这是一个巨大的麻烦.

编辑:正如评论所指出的那样,当我提到多个帐户时,我说的是针对单个Android用户的多个Google帐户,我不是在谈论同一部手机中的多个Android用户.

in-app-purchase in-app-billing google-play google-play-services

19
推荐指数
1
解决办法
858
查看次数

如何在 Android Studio 预览中在夜间模式和灯光模式之间切换?

我开始在我的应用程序上实现暗模式,我正在使用Theme.AppCompat.DayNight.NoActionBar. 设备上一切正常,但我想查看 Android Studio 上的差异,因此我不必继续运行代码来查看更改。

如何切换 Android Studio Preview 以显示夜间模式与灯光模式主题?

谢谢。

编辑:为了清楚起见,我想在预览中显示资源文件夹-night而不是普通资源文件夹中的任何内容。

android android-theme android-studio material-design android-darkmode

19
推荐指数
2
解决办法
9605
查看次数

RxJava单个后台线程调度程序

我对RxJava很新,所以这可能是一个愚蠢的问题.我将描述我的情景.

我在UI线程上运行了一些代码,它们将更新一些图像,但这些图像不是很重要,它们在生成它们时消耗了一些资源,所以我想在单个线程上生成它们(当然不是UI线程)和逐个生成它们.我猜蹦床调度程序是我想要的,但我的问题是,如果我使用它然后它在UI线程上工作,我希望它在另一个线程上做.

显然我可以编写自己的线程,我可以在其中对项目进行排队,然后逐个处理这些,但我想RxJava可能会有一个简单的解决方案吗?

我当前的代码如下所示:

Observable<Bitmap> getImage = Observable.create(new Observable.OnSubscribe<Bitmap>() {
    @Override public void call(Subscriber<? super Bitmap> subscriber) {
        Log.w(TAG,"On ui thread? "+ UIUtils.isRunningOnUIThread());
        subscriber.onNext(doComplexTaskToGetImage());
        subscriber.onCompleted();
    }
});

getImage.subscribeOn(Schedulers.trampoline()).subscribe(new Action1<Bitmap>() {
    @Override public void call(Bitmap bitmap) {
        codeToSetTheBitmap(bitmap);
    }
});
Run Code Online (Sandbox Code Playgroud)

我的日志上写着"On ui thread?" 永远都是如此.那么我如何使代码和所有后续尝试做同样的事情按顺序在单个线程(而不是ui线程)上运行而不编写一堆代码来排队工作?

编辑:

我相信现在可以使用Schedulers.single()或者如果你想要你自己可以使用它new SingleScheduler().我还在测试,但是当我发布这个帖子时,我认为它确实符合我的要求.

java android rx-java rx-android

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

应用内购买在更新后使用了错误的帐户

典型情况下,用户在其Android设备上有两个帐户xyz@gmail.com和abc@gmail.com.用户使用帐户xyz@gmail.com在版本1.0上购买我的高级升级,然后他们更新到版本1.1并且代码(应用内购买代码)现在认为他们使用的是帐户abc@gmail.com,因此它认为用户尚未购买高级升级.我知道它使用了错误的帐户,因为他们向我发送了他们的订单电子邮件,然后他们告诉我,如果他们按下$ amount,那么在购买对话框中列出了错误的电子邮件.此时唯一的解决方法是使用Play商店桌面网站和正确的帐户卸载并重新安装.

我正在使用来自示例的IABHelper以及StackOverflow的一些修复.据我所知,我甚至无法选择他们正在使用的帐户.

关于可能发生的事情的任何想法?这有发生在其他人身上吗?

代码超出了StackOverflow的长度限制,所以我把它放在http://pastebin.com/hLquZ6SP

编辑:我现在有一个用户声称每次更新应用程序时都会发生这种情况.

编辑:这在分阶段推出期间发生了很多,我认为因为获得分阶段更新的帐户不是用户购买IAP的帐户.

android in-app-purchase in-app-billing google-play google-play-services

17
推荐指数
1
解决办法
4505
查看次数

加上一个按钮共享选项会发布一个空帖子

我已按照这些非常简单的说明https://developers.google.com/+/mobile/android/recommend在我的应用上实施了+1按钮.我将我的app url作为url传递,0作为PLUS_ONE_REQUEST_CODE传递.我认为+1部分正在工作,虽然我不确定,但共享部分是奇怪的.基本上,如果我没有键入任何内容,它会分享我输入的内容或什么都没有,但它不共享URL.看起来有点无用!其他人有这个问题吗?

谢谢.

编辑:代码

在创建时:

 plusOneButton = (PlusOneButton) findViewById(R.id.plus_one_button);
Run Code Online (Sandbox Code Playgroud)

在简历上:

plusOneButton.initialize(myapplink, 0);
Run Code Online (Sandbox Code Playgroud)

按钮:

<com.google.android.gms.plus.PlusOneButton xmlns:plus="http://schemas.android.com/apk/lib/com.google.android.gms.plus"
                    android:id="@+id/plus_one_button"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"

                    plus:size="standard"
                    plus:annotation="inline" />
Run Code Online (Sandbox Code Playgroud)

编辑:我还应该指出,我在另一个应用程序(不是我的)使用相同的按钮尝试这个,它有同样的问题.所以也许这是默认行为,但似乎它是无用的行为.

android google-plus google-play-services

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

在Android Studio上,检查"未使用的资源"不适用于我项目中的所有模块

我以这种方式运行它"菜单 - >分析 - >按名称运行检查 - >未使用的资源",我选择整个项目,但它没有在我的主应用程序模块之外找到任何未使用的资源.所以我然后为单个模块运行它,它找到了东西,但它也找到了在其他模块上使用的项目.

例如,我有一个共享模块,其中包含一些常见字符串,如对话框的"关闭".字符串未在该模块中使用.当我为该模块运行检查时,它发现它未使用.

另一方面,我在同一个共享模块上有一些字符串,我不再在任何地方使用它,当我运行整个项目的检查时,它将找不到该字符串.

我认为问题可能是我共享模块的方式,基本上它们在不同的目录上我导入它们将它放在settings.gradle上:

include ':androidutils'
project(':androidutils').projectDir = new File( '../sharedlibs/androidutils')
Run Code Online (Sandbox Code Playgroud)

然后在我的build.gradle中,我只是:androidutils作为依赖项导入.

其他人有这个问题吗?

谢谢.

android lint android-lint android-studio

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