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);
        }
  • 相关阅读:
    调度器27—Freq Qos 和 限频流程 Hello
    调度器23—EAS Hello
    调度器24—CFS任务选核 Hello
    调度器22—CPU频点设置函数分析 Hello
    attribute section 属性 Hello
    使用二级指针辅助遍历的单链表 Hello
    数据结构——TODO Hello
    plist移植学习笔记 Hello
    Linux驱动中继承与多态思想_C Hello
    内核线程 Hello
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/9233391.html
Copyright © 2011-2022 走看看