簡體   English   中英

Android系統。 如何從不同的活動中獲取上下文

[英]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);

其中mainActivityContextContext 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM