首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >函数中的Android Get上下文

函数中的Android Get上下文
EN

Stack Overflow用户
提问于 2020-01-14 15:21:10
回答 2查看 35关注 0票数 0

我是一个新手,正在制作我的第一个应用程序,所以请原谅我糟糕的措辞和理解。

我创建了一个MyAlarms()类来帮助管理我的警报和通知代码。我需要一些函数的上下文,即Toast、SharedPreferences和PendingIntent。GetContext()不起作用,getApplicationContext()也不起作用,所以我决定将上下文从使用它的代码传递给MyAlarms(上下文上下文)。这个很好用。

但我现在读到我不应该这样做,因为这可能会导致内存泄漏问题。有没有其他方法可以在类中获取上下文?

提前感谢!

EN

回答 2

Stack Overflow用户

发布于 2020-01-15 01:53:43

我假设您需要上下文,因为您正在创建一些视图?如果是这样,那么您需要在放置视图的任何布局中使用.getContext()。

票数 0
EN

Stack Overflow用户

发布于 2021-01-25 14:15:10

如果你有一个静态函数,你必须在参数中传递来自活动的上下文。

例如:

代码语言:javascript
运行
AI代码解释
复制
private static void sendMessageToActivity(String msg) {
    Intent intent = new Intent("intentKey");
    intent.putExtra("key", msg);
    LocalBroadcastManager.getInstance(getContext()).sendBroadcast(intent);
}

更改为:

代码语言:javascript
运行
AI代码解释
复制
    @Override
    protected void onCreate(Bundle savedInstanceState) {
...
        sendMessageToActivity(this,"test");
    }

    private static void sendMessageToActivity(Context context, String msg) {
        Intent intent = new Intent("intentKey");
        intent.putExtra("key", msg);
        LocalBroadcastManager.getInstance(context).sendBroadcast(intent);
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59736783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档