Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.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活动识别包裹协议需要一个Parcelable.Creator_Android_Google Play Services_Parcelable_Intentservice_Activity Recognition - Fatal编程技术网

android活动识别包裹协议需要一个Parcelable.Creator

android活动识别包裹协议需要一个Parcelable.Creator,android,google-play-services,parcelable,intentservice,activity-recognition,Android,Google Play Services,Parcelable,Intentservice,Activity Recognition,我在活动识别方面遇到问题,出现以下错误: 05-07 22:32:03.553: E/AndroidRuntime(5546): FATAL EXCEPTION: IntentService[dk.finne.minrute.service.ActivityRecognitionIntentService] 05-07 22:32:03.553: E/AndroidRuntime(5546): Process: dk.finne.minrute, PID: 5546 05-07 22:32:03

我在活动识别方面遇到问题,出现以下错误:

05-07 22:32:03.553: E/AndroidRuntime(5546): FATAL EXCEPTION: IntentService[dk.finne.minrute.service.ActivityRecognitionIntentService]
05-07 22:32:03.553: E/AndroidRuntime(5546): Process: dk.finne.minrute, PID: 5546
05-07 22:32:03.553: E/AndroidRuntime(5546): android.os.BadParcelableException: Parcelable protocol requires a Parcelable.Creator object called  CREATOR on class com.google.android.gms.location.ActivityRecognitionResult
05-07 22:32:03.553: E/AndroidRuntime(5546):     at android.os.Parcel.readParcelableCreator(Parcel.java:2156)

ActivityRecognitionResult
类来自Google Play Services,因此如何修复此错误?

这是一个有效的示例,除了传递活动(仍然没有解决这个问题)。基本上你没有创造者的东西。下一次,如果您包含一个代码示例,它会有所帮助

import android.app.Activity;

import android.os.Parcel;
import android.os.Parcelable;

public class QueryParcible implements Parcelable{
private long fromBtn,toBtn;
private Boolean gpsB, picB;
Activity activity;

public QueryParcible() {}
public QueryParcible(Parcel parcel) {}

    public static final Parcelable.Creator<QueryParcible> CREATOR =
               new Parcelable.Creator<QueryParcible>(){

                @Override
      public QueryParcible createFromParcel(Parcel source)     {
                 return new QueryParcible(source);
                }

                @Override
                public QueryParcible[] newArray(int size) {
                 return new QueryParcible[size];
                }
             };
             @Override
             public int describeContents() {
              return 0;
             }

             @Override
             public void writeToParcel(Parcel dest, int flags) {
                 dest.writeSerializable(fromBtn);
                 dest.writeSerializable(toBtn);              
                 dest.writeInt(gpsB?1:0);
                 dest.writeInt(picB?1:0);   
                 dest.writeValue(activity);
             }  
            public void readFromParcel(Parcel source){
                 fromBtn= source.readLong();
                 toBtn= source.readLong();               
                 gpsB=source.readInt()==1;
                 picB=source.readInt()==1;
                // activity=source.readValue(activity);
             }

             public Boolean getGpsB() {
                return gpsB;
            }
            public void setGpsB(Boolean gpsB) {
                this.gpsB = gpsB;
            }
            public Boolean getPicB() {
                return picB;
            }
            public void setPicB(Boolean picB) {
                this.picB = picB;
                }
public long getFromBtn() {
    return fromBtn;
}
public void setFromBtn(long fromBtn) {
    this.fromBtn = fromBtn;
}
public long getToBtn() {
    return toBtn;
}
public void setToBtn(long toBtn) {
    this.toBtn = toBtn;
}   
public Activity getActivity() {
return activity;
}
public void setActivity(Activity activity) {
this.activity = activity;
}       }
导入android.app.Activity;
导入android.os.packet;
导入android.os.Parcelable;
公共类QueryParable实现了Parcelable{
私人长途电话(BTN、toBtn);
私有布尔gpsB,picB;
活动;
公共QueryParcible(){}
公共查询包(包){}
公共静态最终包裹。创建者=
新建Parcelable.Creator(){
@凌驾
公共QueryParcible createFromParcel(地块源){
返回新的QueryParcible(源);
}
@凌驾
公共QueryParcible[]新数组(整数大小){
返回新的QueryParcible[大小];
}
};
@凌驾
公共int描述内容(){
返回0;
}
@凌驾
公共无效写入包裹(包裹目的地,内部标志){
目的地可写变量(fromBtn);
目的地可写变量(toBtn);
目的地记录(gpsB?1:0);
目标写入(picB?1:0);
目的书面价值(活动);
}  
公共作废readFromParcel(地块源){
fromBtn=source.readLong();
toBtn=source.readLong();
gpsB=source.readInt()==1;
picB=source.readInt()==1;
//activity=source.readValue(activity);
}
公共布尔getGpsB(){
返回gpsB;
}
公共无效集合gpsB(布尔gpsB){
this.gpsB=gpsB;
}
公共布尔getPicB(){
返回picB;
}
公共无效设置picB(布尔值picB){
this.picB=picB;
}
公共长getFromBtn(){
从BTN返回;
}
公共无效集合fromBtn(长fromBtn){
this.fromBtn=fromBtn;
}
公共长廊{
返回toBtn;
}
公共空间设置toBtn(长toBtn){
this.toBtn=toBtn;
}   
公共活动{
返回活动;
}
公共活动(活动){
这个。活动=活动;
}       }

也许您使用proguard时遇到了与此处相同的问题:是的,您是对的。谢谢