Android 中调用全局Context

经常需要用到系统的一些功能必须传递Context对象, 往往有时候不方便传递当前的Context或者即使能够传递Context也非常麻烦,比如: AudioManager aduioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);  这个时候如果传递当前的Activity, 那么切换Activity后,可能会有影响。所以需要获取全局的Context,在任何需要的时候使用。

实现如下:

1  先定义一个继承Application的类,取名AppContext

2  上代码:

public class AppContext extends android.app.Application
{
    private static Context appContext;
   
    @Override
    public void onCreate()
    {
         super.onCreate();
        
         appContext = getApplicationContext();
    }
   
    public static Context getAppContext()
    {
     return appContext;
    }
   
    @Override
    public void onLowMemory()
    {
     super.onLowMemory();
    }
   
}

3  mainfest  xml中在Application标签中添加 Android:name属性

<application 
        android:icon="@drawable/ic_launcher" 
        android:label="@string/app_name" 
        android:name=".AppContext" > 
        <activity 
            android:name=".ApplicationDemoActivity" 
            android:label="@string/app_name" > 
            <intent-filter> 
                <action android:name="android.intent.action.MAIN" /> 
                <category android:name="android.intent.category.LAUNCHER" /> 
            </intent-filter> 
        </activity> 
    </application>

4  需要获取Context时, 只需要调用 AppContext.getAppContext() 即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值