Android 不同应用之间的Intent pass Object
Android Intent pass Object between different different apps
我有这个 Activity(MainActivity
,来自 package package com.example.myapplication
)收到 class 的 Intent
“BeanValidacion
".
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Bundle willirex = getIntent().getExtras();
if(willirex!=null)
{
BeanValidacion datos = (BeanValidacion) willirex.get("paramIn");
Toast.makeText(MainActivity.this,datos.getIdNumber(),Toast.LENGTH_LONG).show();
}
我想用不同的 APK(包 com.adon.intents
)调用它并发送一个 Intent
,就像我对 String Intent
s 所做的那样,但是这次,我想要发送 class 的对象 "BeanValidacion
":
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
BeanValidacion datos = new BeanValidacion();
datos.setIdNumber("12345");
Intent next = new Intent();
next.setClassName("com.example.myapplication", "com.example.myapplication.MainActivity");
next.putExtra("paramIn", datos);
startActivity(next);
}
当我执行 com.adon.intents
APK 发送意图时,我在 com.example.myapplication
上收到此错误:
ClassNotFoundException reading a Serializable object (name = com.adon.intents.BeanValidacion
这一行:
Toast.makeText(MainActivity.this,datos.getIdNumber(),Toast.LENGTH_LONG).show();
仅发送 String
时不会发生这种情况,但我在解决这个问题时遇到了问题。
此致
您应该将 BeanValidacion.java
文件放在第二个应用程序的确切包层次结构 com.adon.intents.BeanValidacion
中。此外,两个 类 应该具有相同的 serialVersionUID
.
我有这个 Activity(MainActivity
,来自 package package com.example.myapplication
)收到 class 的 Intent
“BeanValidacion
".
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Bundle willirex = getIntent().getExtras();
if(willirex!=null)
{
BeanValidacion datos = (BeanValidacion) willirex.get("paramIn");
Toast.makeText(MainActivity.this,datos.getIdNumber(),Toast.LENGTH_LONG).show();
}
我想用不同的 APK(包 com.adon.intents
)调用它并发送一个 Intent
,就像我对 String Intent
s 所做的那样,但是这次,我想要发送 class 的对象 "BeanValidacion
":
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
BeanValidacion datos = new BeanValidacion();
datos.setIdNumber("12345");
Intent next = new Intent();
next.setClassName("com.example.myapplication", "com.example.myapplication.MainActivity");
next.putExtra("paramIn", datos);
startActivity(next);
}
当我执行 com.adon.intents
APK 发送意图时,我在 com.example.myapplication
上收到此错误:
ClassNotFoundException reading a Serializable object (name = com.adon.intents.BeanValidacion
这一行:
Toast.makeText(MainActivity.this,datos.getIdNumber(),Toast.LENGTH_LONG).show();
仅发送 String
时不会发生这种情况,但我在解决这个问题时遇到了问题。
此致
您应该将 BeanValidacion.java
文件放在第二个应用程序的确切包层次结构 com.adon.intents.BeanValidacion
中。此外,两个 类 应该具有相同的 serialVersionUID
.