Android进阶+实战android开发Android进阶之路

Android常用Manager

2016-05-12  本文已影响3591人  lavor

Android常用Manager


1. ActivityManager:与系统中正在运行的所有活动进行交互。


获取ActivityManager对象的方法是在拥有context的环境下使用下面的方法。
ActivityManager activityManager= (ActivityManager) getSystemService(ACTIVITY_SERVICE);
ActivityManager常用的方法:

2. FragmentManager:在Activity中与Fragment进行交互的接口


获取FragmentManager对象的方法是在Activity中使用下面的方法。
FragmentManager fragmentManager=getSupportFragmentManager();
AlarmManager常用方法:

FragmentManager只能直接对Fragment进行查询操作,不能直接进行增加,删除,更新操作,要进行这些操作必须在FragmentManager开启的事务中进行。开启的事务的任务都完成后要提交事务。

fragmentManager.beginTransaction().replace(R.id.fragment,fragment).commit();

3. PackageManager:检索当前安装在设备上的应用程序包相关的各种信息


获取PackageManager对象的方法是在在拥有context的环境下使用下面的方法。
PackageManager packageManager=getPackageManager();
PackageManager常用的方法:

注意其实PackageManager是一个抽象类。

4. DownloadManager:下载管理器是一个系统服务,处理长时间运行的HTTP下载


DownloadManager的基本使用方法:

    /**
     * DownloadManager的基本使用
     */
    public void downloadManager(){
        //获取系统服务的DownloadManager
        downloadManager= (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
        //创建一个DownloadManager的请求
        DownloadManager.Request request=new DownloadManager.Request(Uri.parse("http://i.imgur.com/iXgyWbG.png"));
        //设置请求允许的联网方式:移动网络与wifi都可以
        request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_MOBILE| DownloadManager.Request.NETWORK_WIFI);
        //禁止发出通知,既后台下载
        //request.setShowRunningNotification(false);该方法被setNotificationVisibility取代了
        request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_HIDDEN);
        //显示下载界面
        request.setVisibleInDownloadsUi(true);
        //设置下载后文件存放的位置,存放在/sdcard/Android/data/<包名>/files/Pictures目录下面
        request.setDestinationInExternalFilesDir(this, Environment.DIRECTORY_PICTURES, "iXgyWbG.png");
        //将下载请求放入队列
        downloadManager.enqueue(request);
    }  

5. ConnectivityManager:关于网络连接状态的查询的类


ConnectivityManager的主要作用是:

ConnectivityManager的基本使用方法:

    /** 
     * 检测当的网络(WLAN、3G/2G)状态 
     * @param context Context 
     * @return true 表示至少有一种网络处于连接状态 
     */  
    public static boolean isNetworkAvailable(Context context) {  
        ConnectivityManager connectivity = (ConnectivityManager) context  
                .getSystemService(Context.CONNECTIVITY_SERVICE);  
        if (connectivity != null) {  
            NetworkInfo info = connectivity.getActiveNetworkInfo();  
            if (info != null && info.isConnected())   
            {  
                // 当前网络是连接的  
                if (info.getState() == NetworkInfo.State.CONNECTED)   
                {  
                    return true;  
                }  
            }  
        }  
        return false;  
    }  

6. WindowManager:应用程序使用的界面和窗口管理器


WindowManager是一个接口,基本使用方法如下:

        WindowManager windowManager=getWindowManager();
        //向windowManager中添加视图
        windowManager.addView(view);
        //删除windowManager中的视图
        windowManager.removeView(view);

7. NotificationManager:通知用户发生的事件


NotificationManager的基本使用方法:

 NotificationManager notificationManager= (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
        PendingIntent intent=PendingIntent.getActivity(this,0,new Intent(MainActivity.this,MainActivity.class),0);
        Notification notification=new NotificationCompat.Builder(this)
                .setTicker("有新通知了")
                .setLargeIcon(BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher))
                .setSmallIcon(R.mipmap.ic_launcher)
                .setContentTitle("通知标题")
                .setContentText("通知内容")
                .setWhen(0)
                .setContentIntent(intent)
                .build();
        notificationManager.notify(0,notification);

8. TelephonyManager:提供访问设备上的电话服务的信息


获取TelephonyManager对象的方法是在拥有context的环境下使用下面的方法。
TelephonyManager telephonyManager= (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
TelephonyManager常用方法:

9. LocationManager:提供了系统位置服务的访问


获取LocationManager对象的方法是在拥有context的环境下使用下面的方法。
LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
LocationManager常用方法:

10. AlarmManager:提供系统报警服务的访问


获取AlarmManager对象的方法是在拥有context的环境下使用下面的方法。
AlarmManager alarmManager= (AlarmManager) getSystemService(ALARM_SERVICE);
AlarmManager常用方法:

上述方法中的type参数有五种值:

上一篇下一篇

猜你喜欢

热点阅读