Android Activity之间的Inter-process沟通
2010-06-01 15:47:00 来源:WEB开发网102. String ss = this.getIntent().getStringExtra("AnyKey");
103. //-----------------------------------
104. Editor passwdfile = getSharedPreferences("ITEM", 0).edit();
105. passwdfile.putString("ITEM",ss);
106. passwdfile.commit();
107.
108. }
109.
110. public void onClick(View arg0) {
111. finish();
112. }
113. }
114.
115.
116. /* AndriodManifest.xml */
117. < ?xml version="1.0" encoding="utf-8"? >
118. < manifest xmlns:android="http://schemas.android.com/apk/res/android"
119. package="com.misoo.pkzz"
120. android:versionCode="1"
121. android:versionName="1.0.0" >
122. < application android:icon="@drawable/icon" android:label="@string/app_name" >
123. < activity android:name=".ac01"
124. android:label="@string/app_name" >
125. < intent-filter >
126. < action android:name="android.intent.action.MAIN" / >
127. < category android:name="android.intent.category.LAUNCHER" / >
128. < /intent-filter >
129. < /activity >
130. < activity android:name=".Activity_1" android:process=":remote" >
131. < intent-filter >
132. < action android:name="android.intent.action.VIEW" / >
133. < category android:name="android.intent.category.DEFAULT" / >
134. < /intent-filter >
135. < /activity >
136. < /application >
137. < /manifest >
这ac01透过Intent传递数据给Activity_1,而Activity_1则将之存入SharePreferences里,再回传给ac01类别。
摘录结语
上述谈到的情境是:
其ac01与Activity_1属于同一个Package。
其ac01与Activity_1 在同一个进程里执行,或者,各再独立的进程里执行。
然而,如果ac01与Activity_1分别属于不同的Package时,又如何呢?此时,就不能藉由SharePreferences来传递数据了,因为SharePreferences是属于某Package内的。至于IPC的详细沟通法,由另外的文章说明之。
更多精彩
赞助商链接