java - 创建扩展 Activity 的实用程序类

标签 java android

在开发应用程序时,我多次遇到需要从不扩展 Activity 的类内部执行某些操作(需要上下文为 Activity 类型)的情况。

例如:创建 AlarmManager 事件、创建广播或操作系统服务。

创建一个静态 Activity 作为执行操作的实用程序类是个好主意吗?

好处是可以从整个应用程序类访问它。

另外,我发现我的 self 复制代码从一个 Activity 到另一个 Activity 。

最佳答案

public class MyApplication extends Application {

    public static MyApplication instance = new MyApplication();
    private static Context context;

    @Override
    public Context getApplicationContext() {
        // TODO Auto-generated method stub
        return super.getApplicationContext();
    }

    @Override
    public void onCreate() {
        // TODO Auto-generated method stub
        super.onCreate();
        context = this;
    }

    public static Context getContext() {
        return context;
    }

}

您可以简单地通过MyApplication.getContext();来调用它

并将此标记添加到 AndroidManifest.xml 中,以便在应用程序启动时初始化此类。

<application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:name="com.example.application.MyApplication"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >

关于java - 创建扩展 Activity 的实用程序类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21075290/

相关文章:

java - 如何根据 Android 中的当前区域设置自动设置所有数字的格式?

Android Material 设计 - 圆角 View 未正确显示圆角阴影

android - 基于构建类型的 gradle 模块解析

android - 屏幕旋转后保存 Intent

java - XMLStreamWriter2.closeCompletely()V NoSuchMethodError

java - 从 Uri 创建调整大小的位图的正确方法是什么?

java - 为任何目标部署 Java 应用程序

php - 使用 where 子句检索 MySQL 数据

java - GWT 自动适配复合 Material

java - Android Java MediaStore 排序顺序区分大小写