Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 无法从服务中的意图获取自定义对象_Android_Android Intent - Fatal编程技术网

Android 无法从服务中的意图获取自定义对象

Android 无法从服务中的意图获取自定义对象,android,android-intent,Android,Android Intent,我正在制作一个音乐播放器。当我将自定义对象中的服务信息和播放列表发送到intent中的MyService时,MyService无法从intent中获取它并返回null 正在向Myservice发送意图: Intent intent = new Intent(getActivity(), MyService.class); intent.putExtra("command", list.get(position)); intent.p

我正在制作一个音乐播放器。当我将自定义对象中的服务信息和播放列表发送到intent中的MyService时,MyService无法从intent中获取它并返回null

正在向Myservice发送意图:

Intent intent = new Intent(getActivity(), MyService.class);
                intent.putExtra("command", list.get(position));
                intent.putExtra("dataBase", serviceInfo);
                getActivity().startService(intent);`
试图从intent获取MyService中的服务信息

serviceInfo = (SettingsAndPlaylist) intent.getSerializableExtra("dataBase");
            position = serviceInfo.getPosition();
            repeatController = serviceInfo.isRepeat();
            playList = serviceInfo.getPlayList();
具有设置和播放列表的对象在发送意图中可序列化且不为空


您的可序列化类如下所示:

public class SettingsAndPlaylist implements Serializable {
    private static List playList;
    private static int position;
    private static boolean repeat;
    private static boolean random;
序列化适用于对象实例字段,而不是静态字段。 顺便说一下,您还应该声明serialVersionUID


有关这两点的详细信息,请参见。

您的可序列化类如下所示:

public class SettingsAndPlaylist implements Serializable {
    private static List playList;
    private static int position;
    private static boolean repeat;
    private static boolean random;
序列化适用于对象实例字段,而不是静态字段。 顺便说一下,您还应该声明serialVersionUID


有关这两点的详细信息,请参见。

不确定从
onStartCommand
返回的标志是什么,是否尝试过不同的标志,如


如果您正在使用,您需要为空意图做好准备。

不确定从
onStartCommand
返回什么标志,您是否尝试过不同的标志,如


如果您正在使用,您需要为空意图做好准备。

列出的对象类型是什么?可能是意图为空,而不是“数据库”对象?请检查(并发布)LogcatException您应该在问题中包含设置和播放列表的源代码,而不是使用外部链接:否则,当您在github上的代码更改时,他的问题和答案对新读者来说毫无意义(这就是为什么我在回答中复制了相关部分)。或者更好,创建一个最低限度的测试用例来展示您的问题,并将其发布在这里。列出的对象类型是什么?如果意图为空,而不是您的“数据库”对象?请检查(并发布)LogcatException您应该在问题中包含设置和播放列表的源代码,而不是使用外部链接:否则,当您在github上的代码更改时,他的问题和答案对新读者来说毫无意义(这就是为什么我在回答中复制了相关部分)。或者更好,创建一个最低限度的测试用例来展示您的问题,并将其发布在这里。这就是您的问题!我必须在设置和播放列表中声明serialVersionUID,对吗?事实上,类似于私有静态最终长serialVersionUID=8091360262568306407L;(标识符应该是唯一的,任何现代IDE都应该显示警告并提供生成标识符的功能)这是您的问题!我必须在设置和播放列表中声明serialVersionUID,对吗?事实上,类似于私有静态最终长serialVersionUID=8091360262568306407L;(标识符应该是唯一的,任何现代IDE都应该显示警告并提供生成标识符的功能)