我正在玩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;
}
但是没有用。
任何想法。
由于
答案 0 :(得分:5)
我不确定你在做什么。但请记住以下内容
不要长期保持对上下文活动的引用(对活动的引用应该与活动本身具有相同的生命周期)。 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;
}
}
答案 1 :(得分:1)
通过构造函数传递上下文变量。
答案 2 :(得分:0)
创建如下所示的新活动
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);
}