Android常用知识点汇总(不断更新)

  本人就在平时开发中经常用到的知识点以及代码片段总结出来供大家分享。

  1:手机自动重启

      调用如下方法即可实现手机自动重启

public void onReboot() {

        Intent reboot = new Intent(Intent.ACTION_REBOOT);

        reboot.putExtra("nowait", 1);

        reboot.putExtra("interval", 1);

        reboot.putExtra("window", 0);

        sendBroadcast(reboot);

    }

   最后要在文件清单里面加上系统权限 android:sharedUserId="android.uid.system" 

<uses-permission android:name="android.permission.REBOOT" />

  2每30分钟执行一次服务

AlarmManager am = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);  
Intent intent = new Intent(context, MyService.class);   
PendingIntent pendingIntent = PendingIntent.getService(context, 0, intent, 0);   
long interval = DateUtils.MINUTE_IN_MILLIS * 30;   
long firstWake = System.currentTimeMillis() + interval;  
am.setRepeating(AlarmManager.RTC,firstWake, interval, pendingIntent); 
   3: Activity界面切换添加动画特效
//实现淡入淡出的效果
overridePendingTransition(Android.R.anim.fade_in,android.R.anim.fade_out);    
overridePendingTransition(Android.R.anim.fade_in,android.R.anim.fade_out);
//由左向右滑入的效果
overridePendingTransition(Android.R.anim.slide_in_left,android.R.anim.slide_out_right);    
overridePendingTransition(Android.R.anim.slide_in_left,android.R.anim.slide_out_right);
//实现zoomin和zoomout,即类似iphone的进入和退出时的效果
overridePendingTransition(R.anim.zoomin, R.anim.zoomout);    
overridePendingTransition(R.anim.zoomin, R.anim.zoomout); 
    4:BroadcastReceiver用于监听被广播的事件

  广播必须被注册,而且有两种方法:

  (1、在应用程序的代码中注册即动态注册

       注册BroadcastReceiver:

       registerReceiver(receiver,filter);

      取消注册BroadcastReceiver:

      unregisterReceiver(receiver);

      当BroadcastReceiver更新UI,通常会用这样的方法注册,启动Activity时候注册BroadcastReceiver,Activity不可见时候取消注 册。

  (2、在androidmanifest.xml当中注册即静态注册

    <receiver>

         <intent-filter>

            <action android:name = "android.intent.action.PICK"/>

        </intent-filter>

    </receiver>

   使用这样的方法注册弊端:它会始终处于活动状态,毕竟是手机开发,cpu和电源资源比较少,一直处于活动耗费大,不利。

   5:Activity中finish()和onDestroy()的区别

  finish()方法用于结束一个Activity的生命周期,而onDestory()方法则是Activity的一个生命周期方法,其作用是在一个Activity对象被销毁之前,Android系统会调用该方法,用于释放此Activity之前所占用的资源。finish会调用到onDestroy方法,可以在onDestroy里打印一句话,就会发现在finish方法那也会打印这句话。finish函数仅仅把当前Activity退出了,但是并没有释放他的资源。

   6:Android 手动显示和隐藏软键盘

(1、方法一(如果输入法在窗口上已经显示,则隐藏,反之则显示)
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);

(2、方法二(view为接受软键盘输入的视图,SHOW_FORCED表示强制显示)
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(view,InputMethodManager.SHOW_FORCED);

imm.hideSoftInputFromWindow(view.getWindowToken(), 0);//强制隐藏键盘

(3、调用隐藏系统默认的输入法
((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(WidgetSearchActivity.this.getCurrentFocus().getWindowToken(),InputMethodManager.HIDE_NOT_ALWAYS);(WidgetSearchActivity是当前的Activity)

(4、获取输入法打开的状态
InputMethodManager imm =(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
boolean isOpen=imm.isActive();//isOpen若返回true,则表示输入法打开

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值