小编Chr*_*647的帖子

将自定义parcelable对象extra或在ArrayList中传递给RemoteViewsService会破坏appwidget

基本上我想做的是将一个自定义的parcelable对象通过intent传递给RemoteViewsService,从而传递给我的RemoteViewsFactory.出于某种原因,这根本不起作用:S每当我尝试这样做时,小部件最终会显示"问题加载小部件"文本.

当我尝试相同的事情,但我没有将它传递给RemoteViewsService,而是将其传递给常规Activity,它完全按预期工作.

我试图在网上找到我的答案,但我一直没有成功,因此我现在发帖在这里希望得到帮助.

我一直试图让这个在我的主程序中运行一段时间.但我无法弄明白.所以我试着将它煮沸,看看我是否在某种程度上做错了什么.我成功地重新创建了这个问题,我重新创建问题的基础来自CommonsGuy的LoremWidget(https://github.com/commonsguy/cw-advandroid/tree/master/AppWidget/LoremWidget)和一个随机的可以说明的例子(http ://prasanta-paul.blogspot.dk/2010/06/android-parcelable-example.htm l)我已经修改过以显示我的问题.(希望我不会遇到麻烦,在这两个链接上使用了代码)

下面是随机文件主机上传的完整代码,以防有人想要测试我正在谈论的内容:http: //www.filedropper.com/remoteviewserviceparcelerrorexample

总结一下我的问题:

为什么我不能将我的parcelable对象(单独或包装在ArrayList中)传递给我的RemoteViewsService?(当相同的代码与Activity一起工作时)

我真的希望有人能够帮助我.现在,在我的主程序中,我将序列化到内部存储,然后从RemoteViewsService再次反序列化,之后我已经阅读了所有内容,这是非常有效的!

编辑:记住,由于某种原因,在我的主程序中,如果我传递一个自定义对象,将ArrayList和Strings设置为null,并将布尔值全部设为false(基本上是对象在创建时的外观),小部件看起来很正常(即没有"问题加载小部件"消息).

编辑:看了一下外观(没有过滤到我正在运行的应用程序)我现在看到一些错误(猜测我最好学会在未获得任何文件的情况下将其全部未过滤:) :):

     11-13 17:14:27.268: D/AndroidRuntime(8840): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<<
    11-13 17:14:27.268: D/AndroidRuntime(8840): CheckJNI is ON
    11-13 17:14:27.340: D/AndroidRuntime(8840): Calling main entry com.android.commands.pm.Pm
    11-13 17:14:27.348: W/ActivityManager(90): No content provider found for permission revoke: file:///data/local/tmp/com.commonsware.android.appwidget.lorem.LoremActivity.apk
    11-13 17:14:27.348: W/ActivityManager(90): No content provider found for permission revoke: file:///data/local/tmp/com.commonsware.android.appwidget.lorem.LoremActivity.apk
    11-13 17:14:27.356: I/PackageManager(90): Removing non-system package:com.commonsware.android.appwidget.lorem
    11-13 17:14:27.360: I/ActivityManager(90): Force stopping package com.commonsware.android.appwidget.lorem uid=10034
    11-13 17:14:27.360: I/ActivityManager(90): Killing …
Run Code Online (Sandbox Code Playgroud)

android parcel android-intent remoteview android-appwidget

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