Java 如何在Android上将对象从一个活动传递到另一个活动

Java 如何在Android上将对象从一个活动传递到另一个活动,java,android,object,android-intent,android-activity,Java,Android,Object,Android Intent,Android Activity,我正在尝试从一个活动发送客户类的对象,并在另一个活动中显示它 客户类别的代码: public class Customer { private String firstName, lastName, Address; int Age; public Customer(String fname, String lname, int age, String address) { firstName = fname; lastName =

我正在尝试从一个
活动
发送客户类的对象,并在另一个
活动
中显示它

客户类别的代码:

public class Customer {

    private String firstName, lastName, Address;
    int Age;

    public Customer(String fname, String lname, int age, String address) {

        firstName = fname;
        lastName = lname;
        Age = age;
        Address = address;
    }

    public String printValues() {

        String data = null;

        data = "First Name :" + firstName + " Last Name :" + lastName
        + " Age : " + Age + " Address : " + Address;

        return data;
    }
}
我想将其对象从一个
活动
发送到另一个
活动
,然后在另一个
活动
上显示数据


如何实现这一点?

一个选项是让自定义类实现
可序列化
接口,然后您可以使用
putExtra(Serializable..)
方法的
intent#putExtra()
变体在intent extra中传递对象实例

伪代码

//To pass:
intent.putExtra("MyClass", obj);

// To retrieve object in second Activity
getIntent().getSerializableExtra("MyClass");
注意:确保主自定义类的每个嵌套类都实现了可序列化接口,以避免任何序列化异常。例如:

class MainClass implements Serializable {

    public MainClass() {}

    public static class ChildClass implements Serializable {

        public ChildClass() {}
    }
}
BeanClass cb = intent.getSerializableExtra("class");

如果选择使用Samuh描述的方式,请记住,只能发送基本值。也就是说,是可分配的值。因此,如果您的对象包含复杂的对象,这些对象将不会跟随。例如,位图、HashMap等变量。。。这些都是难以通过的意图

一般来说,我建议您只将基本数据类型作为附加数据发送,如String、int、boolean等。在您的情况下,它将是:
String fname
String lname
int age
字符串地址

我的意见是:通过实现ContentProviderSDCard等,可以更好地共享更复杂的对象。也可以使用静态变量,但这可能很快导致易出错的代码


但是,这只是我的主观意见。

您也可以将对象的数据写入临时字符串和int,并将它们传递给活动。当然,这样可以传输数据,但不能传输对象本身

但是,如果您只想显示它们,而不想在其他方法或类似的方法中使用对象,那么这就足够了。我用同样的方法在另一个活动中显示来自一个对象的数据

String fName_temp   = yourObject.getFname();
String lName_temp   = yourObject.getLname();
String age_temp     = yourObject.getAge();
String address_temp = yourObject.getAddress();

Intent i = new Intent(this, ToClass.class);
i.putExtra("fname", fName_temp);
i.putExtra("lname", lName_temp);
i.putExtra("age", age_temp);
i.putExtra("address", address_temp);

startActivity(i);
你也可以直接传递它们而不是临时IVAR,但在我看来,这样更清晰。此外,您可以将temp ivar设置为null,以便垃圾收集器能够更快地清理它们

祝你好运

另一方面:重写toString(),而不是编写自己的打印方法

如以下评论所述,这是您在另一项活动中获取数据的方式:

String fName = getIntent().getExtras().getInt("fname");
 final Object obj1 = new Object();
 final Intent in = new Intent();
 in.putExtra(EXTRA_TEST, new Sharable(obj1));
final Sharable s = in.getExtras().getParcelable(EXTRA_TEST);
final Object obj2 = s.obj();

public final class Sharable implements Parcelable {

    private Object mObject;

    public static final Parcelable.Creator < Sharable > CREATOR = new Parcelable.Creator < Sharable > () {
        public Sharable createFromParcel(Parcel in ) {
            return new Sharable( in );
        }


        @Override
        public Sharable[] newArray(int size) {
            return new Sharable[size];
        }
    };

    public Sharable(final Object obj) {
        mObject = obj;
    }

    public Sharable(Parcel in ) {
        readFromParcel( in );
    }

    Object obj() {
        return mObject;
    }


    @Override
    public int describeContents() {
        return 0;
    }


    @Override
    public void writeToParcel(final Parcel out, int flags) {
        final long val = SystemClock.elapsedRealtime();
        out.writeLong(val);
        put(val, mObject);
    }

    private void readFromParcel(final Parcel in ) {
        final long val = in .readLong();
        mObject = get(val);
    }

    /////

    private static final HashMap < Long, Object > sSharableMap = new HashMap < Long, Object > (3);

    synchronized private static void put(long key, final Object obj) {
        sSharableMap.put(key, obj);
    }

    synchronized private static Object get(long key) {
        return sSharableMap.remove(key);
    }
}
SupplierDetails poSuppliersDetails = new SupplierDetails();
Intent iPODetails = new Intent(ActivityOne.this, ActivityTwo.class);
iPODetails.putExtra("poSuppliersDetails", poSuppliersDetails);
    final Object objSent = new Object();
    final Bundle bundle = new Bundle();
    bundle.putBinder("object_value", new ObjectWrapperForBinder(objSent));
    startActivity(new Intent(this, SecondActivity.class).putExtras(bundle));        
    Log.d(TAG, "original object=" + objSent);
    final Object objReceived = ((ObjectWrapperForBinder)getIntent().getExtras().getBinder("object_value")).getData();
    Log.d(TAG, "received object=" + objReceived);

最好的方法是在应用程序中有一个类(称之为Control),该类将保存“Customer”类型的静态变量(在您的示例中)。初始化活动A中的变量

例如:

Control.Customer = CustomerClass;
intent.putExtra("class", BeanClass);

然后转到活动B并从控制类获取它。使用变量后不要忘记指定null,否则会浪费内存。

是的,使用静态对象是迄今为止最简单的自定义不可序列化对象的方法。

调用活动时

Intent intent = new Intent(fromClass.this,toClass.class).putExtra("myCustomerObj",customerObj);
在toClass.java中,通过接收活动

Customer customerObjInToClass = getIntent().getExtras().getParcelable("myCustomerObj");
请确保customer类实现了parcelable

public class Customer implements Parcelable {

    private String firstName, lastName, address;
    int age;

    /* all your getter and setter methods */

    public Customer(Parcel in ) {
        readFromParcel( in );
    }

    public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {
        public LeadData createFromParcel(Parcel in ) {
            return new Customer( in );
        }

        public Customer[] newArray(int size) {
            return new Customer[size];
        }
    };


    @Override
    public void writeToParcel(Parcel dest, int flags) {

        dest.writeString(firstName);
        dest.writeString(lastName);
        dest.writeString(address);
        dest.writeInt(age);
    }

    private void readFromParcel(Parcel in ) {

        firstName = in .readString();
        lastName  = in .readString();
        address   = in .readString();
        age       = in .readInt();
    }

您可以尝试使用该类。它的局限性在于不能在一个进程之外使用

一项活动:

String fName = getIntent().getExtras().getInt("fname");
 final Object obj1 = new Object();
 final Intent in = new Intent();
 in.putExtra(EXTRA_TEST, new Sharable(obj1));
final Sharable s = in.getExtras().getParcelable(EXTRA_TEST);
final Object obj2 = s.obj();

public final class Sharable implements Parcelable {

    private Object mObject;

    public static final Parcelable.Creator < Sharable > CREATOR = new Parcelable.Creator < Sharable > () {
        public Sharable createFromParcel(Parcel in ) {
            return new Sharable( in );
        }


        @Override
        public Sharable[] newArray(int size) {
            return new Sharable[size];
        }
    };

    public Sharable(final Object obj) {
        mObject = obj;
    }

    public Sharable(Parcel in ) {
        readFromParcel( in );
    }

    Object obj() {
        return mObject;
    }


    @Override
    public int describeContents() {
        return 0;
    }


    @Override
    public void writeToParcel(final Parcel out, int flags) {
        final long val = SystemClock.elapsedRealtime();
        out.writeLong(val);
        put(val, mObject);
    }

    private void readFromParcel(final Parcel in ) {
        final long val = in .readLong();
        mObject = get(val);
    }

    /////

    private static final HashMap < Long, Object > sSharableMap = new HashMap < Long, Object > (3);

    synchronized private static void put(long key, final Object obj) {
        sSharableMap.put(key, obj);
    }

    synchronized private static Object get(long key) {
        return sSharableMap.remove(key);
    }
}
SupplierDetails poSuppliersDetails = new SupplierDetails();
Intent iPODetails = new Intent(ActivityOne.this, ActivityTwo.class);
iPODetails.putExtra("poSuppliersDetails", poSuppliersDetails);
    final Object objSent = new Object();
    final Bundle bundle = new Bundle();
    bundle.putBinder("object_value", new ObjectWrapperForBinder(objSent));
    startActivity(new Intent(this, SecondActivity.class).putExtras(bundle));        
    Log.d(TAG, "original object=" + objSent);
    final Object objReceived = ((ObjectWrapperForBinder)getIntent().getExtras().getBinder("object_value")).getData();
    Log.d(TAG, "received object=" + objReceived);
其他活动:

String fName = getIntent().getExtras().getInt("fname");
 final Object obj1 = new Object();
 final Intent in = new Intent();
 in.putExtra(EXTRA_TEST, new Sharable(obj1));
final Sharable s = in.getExtras().getParcelable(EXTRA_TEST);
final Object obj2 = s.obj();

public final class Sharable implements Parcelable {

    private Object mObject;

    public static final Parcelable.Creator < Sharable > CREATOR = new Parcelable.Creator < Sharable > () {
        public Sharable createFromParcel(Parcel in ) {
            return new Sharable( in );
        }


        @Override
        public Sharable[] newArray(int size) {
            return new Sharable[size];
        }
    };

    public Sharable(final Object obj) {
        mObject = obj;
    }

    public Sharable(Parcel in ) {
        readFromParcel( in );
    }

    Object obj() {
        return mObject;
    }


    @Override
    public int describeContents() {
        return 0;
    }


    @Override
    public void writeToParcel(final Parcel out, int flags) {
        final long val = SystemClock.elapsedRealtime();
        out.writeLong(val);
        put(val, mObject);
    }

    private void readFromParcel(final Parcel in ) {
        final long val = in .readLong();
        mObject = get(val);
    }

    /////

    private static final HashMap < Long, Object > sSharableMap = new HashMap < Long, Object > (3);

    synchronized private static void put(long key, final Object obj) {
        sSharableMap.put(key, obj);
    }

    synchronized private static Object get(long key) {
        return sSharableMap.remove(key);
    }
}
SupplierDetails poSuppliersDetails = new SupplierDetails();
Intent iPODetails = new Intent(ActivityOne.this, ActivityTwo.class);
iPODetails.putExtra("poSuppliersDetails", poSuppliersDetails);
    final Object objSent = new Object();
    final Bundle bundle = new Bundle();
    bundle.putBinder("object_value", new ObjectWrapperForBinder(objSent));
    startActivity(new Intent(this, SecondActivity.class).putExtras(bundle));        
    Log.d(TAG, "original object=" + objSent);
    final Object objReceived = ((ObjectWrapperForBinder)getIntent().getExtras().getBinder("object_value")).getData();
    Log.d(TAG, "received object=" + objReceived);
final Sharable s=in.getExtras().getParcelable(额外测试);
最终对象obj2=s.obj();
公共最终类Sharable实现了Parcelable{
私有对象移动对象;
公共静态最终包裹。创建者<共享>创建者=新包裹。创建者<共享>(){
公共可共享createFromParcel(地块中){
返回新的可共享(in);
}
@凌驾
公共可共享[]新数组(整数大小){
返回新的可共享[大小];
}
};
公共可共享(最终对象obj){
mObject=obj;
}
公共可共享(包裹内){
从包裹中读取;
}
对象obj(){
返回对象;
}
@凌驾
公共int描述内容(){
返回0;
}
@凌驾
公共无效writeToParcel(最终包裹输出,int标志){
final long val=SystemClock.elapsedRealtime();
out.writeLong(val);
put(val,mObject);
}
私人作废readFromParcel(中的最终地块){
最终long val=in.readLong();
mObject=get(val);
}
/////
私有静态最终HashMapsSharableMap=newhashmap(3);
同步私有静态void put(长密钥,最终对象obj){
sSharableMap.put(键,对象);
}
同步私有静态对象get(长密钥){
返回sSharableMap.remove(键);
}
}

使用Serializable实现您的类。假设这是您的实体类:

import java.io.Serializable;

@SuppressWarnings("serial") //With this annotation we are going to hide compiler warnings
public class Deneme implements Serializable {

    public Deneme(double id, String name) {
        this.id = id;
        this.name = name;
    }

    public double getId() {
        return id;
    }

    public void setId(double id) {
        this.id = id;
    }

    public String getName() {
        return this.name;
    }

    public void setName(String name) {
        this.name = name;
    }

    private double id;
    private String name;
}
我们正在将名为
dene
的对象从X活动发送到Y活动。在X活动的某处

Deneme dene = new Deneme(4,"Mustafa");
Intent i = new Intent(this, Y.class);
i.putExtra("sampleObject", dene);
startActivity(i);
在Y活动中,我们得到的是对象

Intent i = getIntent();
Deneme dene = (Deneme)i.getSerializableExtra("sampleObject");
就这样

public class MyClass implements Serializable{
    Here is your instance variable
}
现在,您希望在startActivity中传递此类的对象。简单地说:

Bundle b = new Bundle();
b.putSerializable("name", myClassObject);
intent.putExtras(b);
这在这里起作用,因为MyClass实现了
可序列化

  • 使用全局静态变量不是好的软件工程实践
  • 将对象的字段转换为基本数据类型可能是一项繁忙的工作
  • 使用serializable是可以的,但在Android平台上它的性能效率不高
  • Parcelable是专门为Android设计的,您应该使用它。下面是一个简单的例子:

您可以使用它为类生成可打包的代码。

我创建了一个包含临时对象的单例帮助器类

public class IntentHelper {

    private static IntentHelper _instance;
    private Hashtable<String, Object> _hash;

    private IntentHelper() {
        _hash = new Hashtable<String, Object>();
    }

    private static IntentHelper getInstance() {
        if(_instance==null) {
            _instance = new IntentHelper();
        }
        return _instance;
    }

    public static void addObjectForKey(Object object, String key) {
        getInstance()._hash.put(key, object);
    }

    public static Object getObjectForKey(String key) {
        IntentHelper helper = getInstance();
        Object data = helper._hash.get(key);
        helper._hash.remove(key);
        helper = null;
        return data;
    }
}
在新活动中,您可以获得以下对象:

Object obj = (Object) IntentHelper.getObjectForKey("key");
请记住,加载后,将删除对象以避免不必要的引用

  • 我知道静电是不好的,但似乎我们不得不在这里使用它。p
    intent.putExtra("class", BeanClass);
    
    BeanClass cb = intent.getSerializableExtra("class");
    
    public interface IPayload {
        public void sayHello(String name, int age);
    }
    
    public class Activity_1 extends Activity implements IPayload {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            //Notify GNLauncher when the Activity is ready. 
            GNLauncher.get().ping(this);
        }
    
        @Override
        public void sayHello(String name, int age) {
            Log.d("gnlib_test", "Hello " + name + "! \nYour age is: " + age);
        }
    }
    
    public class Activity_2 extends Activity {
        public void onClick(View v) {
            ((IPayload)GNLauncher.get().getProxy(this, IPayload.class, Activity_1.class)).sayHello(name, age);
        }
    }
    
     Bundle bundle = new Bundle();
    
     bundle.putSerializable(key1, value1);
     bundle.putSerializable(key2, value2);
     bundle.putSerializable(key3, value3);
    
     intent.putExtras(bundle);
    
     Bundle bundle = new Bundle();
    
     for (String key : bundle.keySet()) {
     value = bundle.getSerializable(key));
     }
    
    public class Qabir {
    
        private int age;
        private String name;
    
        Qabir(){
        }
    
        Qabir(int age,String name){
            this.age=age; this.name=name;
        }   
    
        // method for sending object
        public String toJSON(){
            return "{age:" + age + ",name:\"" +name +"\"}";
        }
    
        // method for get back original object
        public void initilizeWithJSONString(String jsonString){
    
            JSONObject json;        
            try {
                json =new JSONObject(jsonString );
                age=json.getInt("age");
                name=json.getString("name");
            } catch (JSONException e) {
                e.printStackTrace();
            } 
        }
    }
    
    Qabir q= new Qabir(22,"KQ");    
    Intent in=new Intent(this,SubActivity.class);
    in.putExtra("obj", q.toJSON());
    startActivity( in);
    
    Qabir q =new Qabir();
    q.initilizeWithJSONString(getIntent().getStringExtra("obj"));
    
    Intent ii = new Intent(examreport_select.this,
                        BarChartActivity.class);
    
                ii.putExtra("IntentExamResultDetail",
                        (Serializable) your List<ArraList<String>> object here);
                startActivity(ii);
    
    List<ArrayList<String>> aa = (List<ArrayList<String>>) getIntent()
                .getSerializableExtra("IntentExamResultDetail");
    
    SupplierDetails poSuppliersDetails = new SupplierDetails();
    
    Intent iPODetails = new Intent(ActivityOne.this, ActivityTwo.class);
    iPODetails.putExtra("poSuppliersDetails", poSuppliersDetails);
    
    private SupplierDetails supplierDetails;
        supplierDetails =(SupplierDetails) getIntent().getSerializableExtra("poSuppliersDetails");
    
        final Object objSent = new Object();
        final Bundle bundle = new Bundle();
        bundle.putBinder("object_value", new ObjectWrapperForBinder(objSent));
        startActivity(new Intent(this, SecondActivity.class).putExtras(bundle));        
        Log.d(TAG, "original object=" + objSent);
    
        final Object objReceived = ((ObjectWrapperForBinder)getIntent().getExtras().getBinder("object_value")).getData();
        Log.d(TAG, "received object=" + objReceived);
    
    public class ObjectWrapperForBinder extends Binder {
    
        private final Object mData;
    
        public ObjectWrapperForBinder(Object data) {
            mData = data;
        }
    
        public Object getData() {
            return mData;
        }
    }
    
    package com.example.objectwrapper;
    interface IDataContract {
        int func1(String arg1);
        int func2(String arg1);
    }
    
        final IDataContract objSent = new IDataContract.Stub() {
    
            @Override
            public int func2(String arg1) throws RemoteException {
                // TODO Auto-generated method stub
                Log.d(TAG, "func2:: arg1=" + arg1);
                return 102;
            }
    
            @Override
            public int func1(String arg1) throws RemoteException {
                // TODO Auto-generated method stub
                Log.d(TAG, "func1:: arg1=" + arg1);
                return 101;
            }
        };
        final Bundle bundle = new Bundle();
        bundle.putBinder("object_value", objSent.asBinder());
        startActivity(new Intent(this, SecondActivity.class).putExtras(bundle));
        Log.d(TAG, "original object=" + objSent);
    
        final IDataContract objReceived = IDataContract.Stub.asInterface(getIntent().getExtras().getBinder("object_value"));
        try {
            Log.d(TAG, "received object=" + objReceived + ", func1()=" + objReceived.func1("test1") + ", func2()=" + objReceived.func2("test2"));
        } catch (RemoteException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    
    public class MainActivity extends Activity {
        private static final String TAG = "MainActivity";
    
        public static final int MSG_OP1 = 1;
        public static final int MSG_OP2 = 2;
    
        public static final String EXTRA_MESSENGER = "messenger";
    
        private final Handler mHandler = new Handler() {
    
            @Override
            public void handleMessage(Message msg) {
                // TODO Auto-generated method stub
                Log.e(TAG, "handleMessage:: msg=" + msg);
                switch (msg.what) {
                case MSG_OP1:
    
                    break;
                case MSG_OP2:
                    break;
    
                default:
    
                    break;
                }
                super.handleMessage(msg);
            }
    
        };
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            startActivity(new Intent(this, SecondActivity.class).putExtra(EXTRA_MESSENGER, new Messenger(mHandler)));
        }
    }
    
    public class SecondActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_second);
    
            final Messenger messenger = getIntent().getParcelableExtra(MainActivity.EXTRA_MESSENGER);
            try {
                messenger.send(Message.obtain(null, MainActivity.MSG_OP1, 101, 1001, "10001"));
                messenger.send(Message.obtain(null, MainActivity.MSG_OP2, 102, 1002, "10002"));
            } catch (RemoteException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
    
        }
    }
    
    package android.os;
    
    import android.os.Message;
    
    /** @hide */
    oneway interface IMessenger {
        void send(in Message msg);
    }
    
    Intent intent = new Intent(context,SomeActivity.class);
    intent.putExtra("key",value);
    startActivity(intent);
    
    public class SomeActivity extends AppCompactActivity {
    
        public void onCreate(...){
        ...
              SomeObject someObject = getIntent().getExtras().getParceable("key");
        }
    
    }
    
    startActivity(new Intent(getBaseContext(),GetActivity.class).putExtra("passingkey","passingvalue"));
    
    String myvalue= getIntent().getExtras("passingkey");
    
    Intent intent = new Intent(getBaseContext(), YourActivity.class);
    intent.putExtra("USER_NAME", "xyz@gmail.com");
    startActivity(intent);
    
    String s = getIntent().getStringExtra("USER_NAME");
    
    class Employee{
        private String empId;
        private int age;
        print Double salary;
    
        getters...
        setters...
    }
    
    String strEmp = new Gson().toJson(emp);
    Intent intent = new Intent(getBaseContext(), YourActivity.class);
    intent.putExtra("EMP", strEmp);
    startActivity(intent);
    
    Bundle bundle = getIntent().getExtras();
    String empStr = bundle.getString("EMP");
                Gson gson = new Gson();
                Type type = new TypeToken<Employee>() {
                }.getType();
                Employee selectedEmp = gson.fromJson(empStr, type);
    
    Intent I = new Intent(this, YourActivity.class);
    CustomClass Date = new CustomClass();
    Box.Add(I, "Name", Data);
    
    CustomClass Data = Box.Get(getIntent(), "Name");
    
    @Override
    protected void onDestroy() {
        Box.Remove(getIntent());
        super.onDestroy();
    }
    
    package ir.namirasoft.Utility;
    
    import android.content.Intent;
    
    import java.util.HashMap;
    import java.util.Vector;
    
    public class Box {
        // Number
        private static int Number = 1;
    
        public static int NextNumber() {
            return Number++;
        }
    
        //
        private static String _Intent_Identifier = "_Intent_Identifier";
        private static HashMap<Integer, Vector<Integer>> DeleteList = new HashMap<Integer, Vector<Integer>>();
        private static HashMap<Integer, HashMap<String, Object>> ObjectList = new HashMap<Integer, HashMap<String, Object>>();
    
        public static int GetIntent_Identifier(Intent I) {
            int Intent_Identifier = I.getIntExtra(_Intent_Identifier, 0);
            if (Intent_Identifier == 0)
                I.putExtra(_Intent_Identifier, Intent_Identifier = NextNumber());
            return Intent_Identifier;
        }
    
        public static void Add(Intent I, String Name, Object O) {
            int Intent_Identifier = GetIntent_Identifier(I);
            synchronized (ObjectList) {
                if (!ObjectList.containsKey(Intent_Identifier))
                    ObjectList.put(Intent_Identifier, new HashMap<String, Object>());
                ObjectList.get(Intent_Identifier).put(Name, O);
            }
        }
    
        public static <T> T Get(Intent I, String Name) {
            int Intent_Identifier = GetIntent_Identifier(I);
            synchronized (DeleteList) {
                DeleteList.remove(Intent_Identifier);
            }
            return (T) ObjectList.get(Intent_Identifier).get(Name);
        }
    
        public static void Remove(final Intent I) {
            final int Intent_Identifier = GetIntent_Identifier(I);
            final int ThreadID = NextNumber();
            synchronized (DeleteList) {
                if (!DeleteList.containsKey(Intent_Identifier))
                    DeleteList.put(Intent_Identifier, new Vector<Integer>());
                DeleteList.get(Intent_Identifier).add(ThreadID);
            }
            new Thread(new Runnable() {
                @Override
                public void run() {
                    try {
                        Thread.sleep(60 * 1000);
                    } catch (InterruptedException e) {
                    }
                    synchronized (DeleteList) {
                        if (DeleteList.containsKey(Intent_Identifier))
                            if (DeleteList.get(Intent_Identifier).contains(ThreadID))
                                synchronized (ObjectList) {
                                    ObjectList.remove(Intent_Identifier);
                                }
                    }
                }
            }).start();
        }
    }