当前位置: 首页 > 面试题库 >

如何从任何地方获取上下文?

蒋高杰
2023-03-14
问题内容

在Android中,是否有任何方法可以获取静态方式的应用程序上下文?例如,从后台线程检索它。

谢谢


问题答案:

最简单(也是正确的)方法是:

定义一个新类

public class MyApp extends Application {
    private static MyApp instance;

    public static MyApp getInstance() {
        return instance;
    }

    public static Context getContext(){
        return instance;
        // or return instance.getApplicationContext();
    }

    @Override
    public void onCreate() {
        instance = this;
        super.onCreate();
    }
}

然后,在清单中需要将此类添加到“应用程序”选项卡的“名称”字段中。或编辑xml并放入

<application
    android:name="com.example.app.MyApp"
    android:icon="@drawable/icon"
    android:label="@string/app_name"
    .......
    <activity
        ......

然后可以从任何地方打电话

MyApp.getContext();

希望能帮助到你



 类似资料:
  • 问题内容: 我有一个函数试图将文件加载到对象,因为示例项目是这样说的。 我尝试使用,但仍无法编译。 我是Java的新手,所以我知道自己做错了。 问题答案: 它无法编译,因为使用资源名称(a ,而不是a )作为参数,以便使用类加载机制(从类路径)加载资源。与一起使用是没有意义的。如果要打开文件,只需使用或即可。 请参阅http://docs.oracle.com/javase/6/docs/api/

  • 问题内容: 我正在使用Angular UI引导模式对话框,并在服务中创建它: 从控制器或任何其他方式调用时,如何关闭所有模式实例? 问题答案: 注入服务并调用函数,有关详细信息,请参见GitHub上的代码:

  • 我是Spring的初学者。今天,当我在阅读Spring core文档时,我在第1.3章中发现了以下说明。Bean概述 除了包含关于如何创建特定bean的信息的bean定义外,ApplicationContext实现还允许注册(由用户)在容器外部创建的现有对象。这是通过getBeanFactory()方法访问ApplicationContext的BeanFactory来完成的,该方法返回BeanFa

  • 问题内容: 问题 从地图中获取数据 资料格式 注意 如何从上述结果中获得以下值 1.Event_dtmReleaseDate 2.strID 3.Trans_strGuestList 我试过的 res.Map(“ Event_dtmReleaseDate”); 错误:res.Map未定义(类型map [string] interface {}没有字段或方法Map) res.Event_dtmRel

  • 问题内容: 我有一个JAR文件,其中包含使用外部模型文件的API。我想将模型文件包含在JAR本身中,以便其他开发人员更容易使用。该API仅接受File对象,有什么方法可以做到这一点?我已经尝试了以下方法,但它们失败了: 使用class.getResourceAsStream()。如果API接受了InputStream,这将起作用。 解析类路径并尝试从条目构建(JAR将显示为app.jar) 我想一

  • 问题内容: 我有一个pthread_t,我想更改它的CPU关联性。问题是我使用的是glibc 2.3.2,它没有pthread_setaffinity_np()。没关系,因为pthread_setaffinity_np()本身是sched_setaffinity()的包装,可以通过传递线程ID而不是进程ID来调用它来设置任意线程的亲和力。 但是 … sched_setaffinity可以使用的线程