zoukankan      html  css  js  c++  java
  • Android 应用开机自启和无需权限开启悬浮框

    开机自启主要自定义广播接收类,且需要在清单文件中注册,不要在代码中动态注册。

    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
    <uses-permission android:name="android.permission.BROADCAST_STICKY"/>
    <receiver android:name=".***">
         <intent-filter>
              <action android:name="android.intent.action.BOOT_COMPLETED"/>
              <category android:name="android.intent.category.LAUNCHER"/>
         </intent-filter>
    </receiver>
    <service android:name=".***"/>

    开始编写广播接收器:

    public class MyBroadcastRecevice extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {
            if (intent.getAction().equals("android.intent.action.BOOT_COMPLETED")){
                // TODO: 2016/9/18
                context.startService(new Intent(context,***));
            }
        }
    }

    再看来看看在服务中启动悬浮框的代码:

    /**
         * 创建悬浮框
         */
        public void createFloatingBoxView() {
            wmParams = ((AppContext) getApplication()).getMywmParams();
            mWindowManager = (WindowManager) getApplication().getSystemService(
                    Application.WINDOW_SERVICE);
            wmParams.type = WindowManager.LayoutParams.TYPE_TOAST;
            wmParams.format = PixelFormat.RGBA_8888;
            wmParams.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL
                    | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
                    | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS;
            wmParams.gravity = Gravity.TOP | Gravity.LEFT;
            wmParams.x = 0;
            wmParams.y = 0;
            wmParams.width = WindowManager.LayoutParams.WRAP_CONTENT;
            wmParams.height = WindowManager.LayoutParams.WRAP_CONTENT;
            floatingBoxView = new FloatingBoxView(getApplicationContext(),this);
            mWindowManager.addView(floatingBoxView, wmParams);
            //这两行负责监听的,别理他
            floatingBoxView.setMoveListener(this);
            floatingBoxView.setAllClickListener(this);
        }
  • 相关阅读:
    小记---------sparkRDD的Transformation 和 Action 及案例 原理解释
    小记---------maxwell启动闪退问题
    小记---------spark组件与其他组件的比较 spark/mapreduce ;spark sql/hive ; spark streaming/storm
    kettle 创建作业发送邮件
    oracle查询表的结构
    ETL简介
    Oracle中分析函数
    谷歌浏览器快捷键
    Kettle入门
    Oracle基本知识
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/9233391.html
Copyright © 2011-2022 走看看