[英]Android. How to Get context from different activity
我正在玩GCM。
使用https://code.google.com/p/gcm/source/checkout上的示例,一切都很完美我使用gcm消息在我的應用上收到通知,
現在我想在位於MainActivity上的listView中添加消息。
我在另一個類(GcmIntentService.java)上接收我的消息。 如何將MainActivity上下文發送到sendBroadcast。
已經嘗試過了
private static Context mContext;
public static Context getContext() {
return mContext;
}
public static void setContext(Context context) {
mContext = context;
}
但是沒有用。
有任何想法嗎。
謝謝
我不確定你在做什么。 但請牢記以下內容
不要長期保持對上下文活動的引用(對活動的引用應該與活動本身具有相同的生命周期)。 http://www.curious-creature.org/2008/12/18/avoid-memory-leaks-on-android/
你可以這樣做
例:
new MyClass(ActivityName.this);
class MyClass
{
Context mContext;
public MyClass(Context context)
{
mContext=context;
}
}
通過構造函數傳遞上下文變量。
創建如下的新活動
public class GetContext extends AppCompatActivity {
Context mainActivity;
public GetContext(Context mainActivity){
this.mainActivity = mainActivity;
}
並在您之前的mainActivity中發送此上下文,如下所示
GetContext sendContext = new GetContext(mainActivityContext);
其中mainActivityContext
是Context mainActivityContext = this;
或者簡單地傳遞它而不是mainActivityContext
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_get_attendance_from_database);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.