溫馨提示×

android懸浮窗實現的方法是什么

小億
142
2024-05-30 10:14:19
欄目: 編程語言

實現Android懸浮窗可以通過以下方法實現:

  1. 使用WindowManager:通過WindowManager類來顯示一個懸浮窗口,可以通過添加View到WindowManager來實現。需要添加權限android.permission.SYSTEM_ALERT_WINDOW。

  2. 使用Dialog:使用Dialog類創建一個懸浮窗口,并設置TYPE_SYSTEM_ALERT類型。需要添加權限android.permission.SYSTEM_ALERT_WINDOW。

  3. 使用Toast:可以通過自定義Toast的View來實現一個懸浮窗口,需要設置Toast的顯示位置為Gravity.TOP | Gravity.LEFT。

注意:在Android 8.0及以上版本中,需要通過懸浮窗口權限來顯示懸浮窗口,可以通過以下代碼請求權限:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !Settings.canDrawOverlays(this)) {
    Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + getPackageName()));
    startActivityForResult(intent, REQUEST_CODE_OVERLAY_PERMISSION);
}

然后在onActivityResult方法中處理權限請求結果:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == REQUEST_CODE_OVERLAY_PERMISSION) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && Settings.canDrawOverlays(this)) {
            // 顯示懸浮窗口
        } else {
            // 用戶拒絕了權限請求,處理邏輯
        }
    }
}

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女