Gsonクラスを使用してJSON文字列データをIntent
オブジェクトに変換しています。しかし、私は例外を得ています。
インテントのJSON文字列:
{
"targetIntent":{
"mAction":"android.intent.action.VIEW",
"mData":{
"authority":{
"decoded":"com.android.contacts",
"encoded":"com.android.contacts"
},
"fragment":{
},
"path":{
"decoded":"NOT CACHED",
"encoded":"/contacts/lookup/1471i541ce89b89ad6a59"
},
"query":{
},
"scheme":"content",
"uriString":"NOT CACHED",
"host":"NOT CACHED",
"port":-2
},
"mFlags":0
}
}
変換コード:
Intent targetIntent =
gson.fromJson(histroyDataObject.getString("targetIntent"), Intent.class);
これは例外を与えます:
Cause: Instantiation Exception
Detail Message: Failed to invoke private android.net.Uri() with no args
スタックトレース:
08-31 01:08:19.045: W/System.err(290): Caused by: java.lang.InstantiationException: android.net.Uri
08-31 01:08:19.065: W/System.err(290): at java.lang.reflect.Constructor.constructNative(Native Method)
08-31 01:08:19.065: W/System.err(290): at java.lang.reflect.Constructor.newInstance(Constructor.java:446)
08-31 01:08:19.065: W/System.err(290): at com.google.gson.internal.ConstructorConstructor$2.construct(ConstructorConstructor.java:91)
08-31 01:08:19.076: W/System.err(290): ... 24 more
ご協力いただきありがとうございます。