如何在android中将对象从一个应用程序发送到另一个应用程序

时间:2015-04-07 12:16:16

标签: android

我想从一个应用程序通过intent创建一个对象列表,并将该列表放在另一个应用程序中。

我试过了:

Intent i = new Intent();

i=getActivity().getPackageManager().getLaunchIntentForPackage(getString(R.string.package_app));

ArrayList<MyClass> list = new ArrayList<MyClass>();

i.setAction(Intent.ACTION_SEND);

i.putExtra(Intent.EXTRA_TEXT, list);

i.setType("text/plain");

为了得到它,我已经做到了:

Intent receivedIntent = getIntent();

ArrayList<MyClass> getList = new ArrayList<MyClass>();

getList=(ArrayList<MyClass>)receivedIntent.getSerializableExtra(Intent.EXTRA_TEXT);

startActivity(i);

但是当我想要获得列表时我有一个例外

1 个答案:

答案 0 :(得分:1)

根据您的堆栈跟踪,您需要将 MyClass 序列化。

然后,您可以将 MyClass 列表传递给第二个活动。

这可以如下所示:

class MyClass implements Serializable
{
//your implementation
}

在您的第一项活动中,您需要执行以下操作:

Intent i = new Intent(context,secondactivity.class);

ArrayList<MyClass> list = new ArrayList<MyClass>();
i.putExtra("listdata",list);

在你的第二项活动中你需要做这样的事情:

Intent receivedIntent = getIntent();

getList=receivedIntent.getSerializableExtra("listdata",null);

希望这会有所帮助......

相关问题