Thông báo "Đã phát hiện lớp phủ màn hình" của Android nếu người dùng đang cố gắng cấp quyền khi thông báo hiển thị


80

Tôi có Android Marshmallow trên Nexus 6. Tôi đang cố gắng khắc phục sự cố sau:

Nếu người dùng đang cố gắng cấp quyền trong khi thông báo đang hiển thị, thông báo "Đã phát hiện lớp phủ màn hình" sẽ hiển thị và hộp thoại Yêu cầu quyền biến mất - tất nhiên ứng dụng không nhận được quyền được yêu cầu. (Kiểm tra ảnh chụp màn hình)

Tôi đã cố gắng khắc phục sự cố bằng cách thêm quyền "VẼ TRÊN CÁC ỨNG DỤNG KHÁC" - android.permission.SYSTEM_ALERT_WINDOW vào tệp kê khai nhưng không thành công.

Tái bút: Tôi chắc chắn vấn đề là do thông báo. Tôi không cài đặt bất kỳ ứng dụng nào phủ lên các ứng dụng khác, tôi thậm chí đã tắt tất cả các ứng dụng có quyền "Vẽ lên các ứng dụng khác" trong cài đặt. Đã không giúp được gì..

Bất cứ ai biết một giải pháp cho vấn đề đó?

nhập mô tả hình ảnh ở đây



@gsgsgs Tôi không có bất kỳ ứng dụng nào phủ lên các ứng dụng khác. Dù sao, tôi đã tắt tất cả các ứng dụng có quyền "Vẽ qua ứng dụng khác" trong cài đặt. Đã không giúp được gì. Như tôi đã đề cập trong câu hỏi, vấn đề là do thông báo, không phải do ứng dụng.
Alexi Akl,

2
Đây thực sự không phải là thứ để bạn 'sửa chữa' trong mã. Đó là một lỗi trong Android (hoặc tốt nhất là một thông báo lỗi không được suy nghĩ kỹ) và Google hy vọng sẽ sửa nó trong một bản phát hành trong tương lai.
Tìm hiểu OpenGL ES

3
Xảy ra với tôi khi Facebook Messenger được mở (ở chế độ nền)
Tim

1
Điều này cũng sẽ xảy ra nếu bánh mì nướng đang hiển thị.
GLee

Câu trả lời:


75

Trong tình huống mà tôi gặp phải, tôi đang tự gây ra vấn đề. Đó là kết quả của việc sử dụng một Toastđể hiển thị thông tin cho người dùng cùng lúc mà tôi đang xin phép. Cả hai hành động này cùng nhau gây ra loại lỗi này.

Các câu trả lời khác có thể giải quyết vấn đề của người khác. Nhưng tôi muốn lưu ý rằng bạn nên thận trọng với việc gây ra lỗi lớp phủ của chính mình. Hãy cẩn thận với việc phủ một thứ gì đó trong chế độ xem đồng thời yêu cầu quyền.


4
Tôi gặp phải vấn đề tương tự, tôi đã gỡ bỏ bánh mì nướng và nó không xuất hiện nữa.
shijin

1
Đối mặt như nhau. Removed Toast và làm việc như một nét duyên dáng
Dennis Anderson

1
Vấn đề tương tự được giải quyết với giải pháp này. Tôi đã hiển thị một tin nhắn nâng ly ngay trước khi yêu cầu sự cho phép.
Sandoval0992

Điều này đã giải quyết cho tôi. Đang sử dụng Toastđể gỡ lỗi. Đây cũng có thể là lý do chính khiến mọi người gặp phải tình trạng này.
Minoru

Toast to display information to the user at the same time that I was asking for permissionĐã giúp tôi ..
Shailendra Madda

8

Gỡ cài đặt ứng dụng Clean Master. Tôi đã gỡ cài đặt nó và sự cố đã được giải quyết


2
Tôi đã thử điều này nhưng không giúp được gì. Ngược lại, nó gây ra việc bỏ cài đặt không cần thiết.
user3251882

1
Tôi đã thử điều này, nó đã giúp ích. Nó gây ra một cài đặt cần thiết. Cảm ơn! (Sony Xperia Z3)
Justin

1
Gỡ cài đặt không phải là một giải pháp. Vui lòng kiểm tra stackoverflow.com/a/39826828/2724626 để có câu trả lời chính xác.
akshay

Trong trường hợp của tôi Facebook Messenger, không cần gỡ cài đặt, chỉ cần buộc dừng.
Hamzeh Soboh

5

Sự cố này xuất hiện do một số ứng dụng thủ phạm như Twilight, clean-master, drupe, v.v.

Để giải quyết vấn đề này, bạn phải tắt lớp phủ màn hình cho các ứng dụng thủ phạm đó.

tôi có moto g4 plus, và đây là cách tôi giải quyết vấn đề này

Vào Cài đặt -> Chọn Ứng dụng ---> chọn lại biểu tượng cài đặt trong Ứng dụng ---> chọn vẽ qua các ứng dụng khác ---> và tắt các ứng dụng gây rắc rối cho các ứng dụng khác.

những gì tôi đã làm là kiểm tra từng ứng dụng bằng cách tắt quyền này và thử chạy ứng dụng của mình và tôi tìm thấy một ứng dụng có lớp phủ gây rắc rối cho các ứng dụng khác, vì vậy cuối cùng tôi chỉ tắt ứng dụng này.

Ảnh chụp màn hình:

Chọn ứng dụng chọn cài đặt cấu hình

chọn vẽ qua các ứng dụng khácvô hiệu hóa các ứng dụng thủ phạm


MobileGoConnector và Mobile Go không hiển thị trong My Mobile
Keshav Gera

Tôi nên làm gì bây giờ
Keshav Gera

1
@KeshavGera nó sẽ không bao giờ .. bcz nó không phải là ứng dụng nội bộ, tôi đã cài đặt nó bên ngoài. đối với bạn, nó sẽ là ứng dụng khác nhau gây ra sự cố lớp phủ .. trong trường hợp của tôi, hai ứng dụng này gây ra sự cố lớp phủ.
Sagar Chavada,

@KeshavGera bạn nên kiểm tra mỗi ứng dụng bằng cách vô hiệu hóa phép overlay ..
Sagar Chavada

3

Có thông tin chi tiết từ nhiều câu trả lời ở đây và các diễn đàn khác.

Củng cố cách tôi giải quyết vấn đề:

  1. Đi tới Cài đặt> Ứng dụng> (ứng dụng của bạn đang gặp sự cố)
  2. Nhấn vào nút Nguồn cho đến khi cửa sổ Tắt nguồn, khởi động lại, chế độ trên máy bay xuất hiện
  3. Giữ trên tùy chọn Tắt nguồn
  4. Chọn khởi động lại ở chế độ An toàn
  5. Đi tới cài đặt> ứng dụng> (ứng dụng của bạn đang gặp sự cố)
  6. Chọn bất kỳ quyền nào bạn muốn
  7. Sau khi cập nhật Android M, các vấn đề có thể xuất hiện trong các ứng dụng như Messenger, Whatsapp, Prisma, v.v.

Hãy cho tôi biết nếu có bất kỳ vấn đề nào.

Lưu ý: Tôi đang có One plus One di động.


1
Nhưng chúng tôi với tư cách là nhà phát triển muốn giải pháp được giải quyết bằng cách mã hóa, không phải thông qua phương pháp này (Khởi động lại ở Chế độ An toàn) của bạn.
Rakesh Yadav

Bạn nói đúng Rakesh, đây không phải là giải pháp lý tưởng. Nhưng cho đến nay tôi vẫn chưa có giải pháp nào khác phù hợp với điện thoại di động của mình.
user3251882 14/03/17

Làm việc cho tôi cho đến bây giờ !! Hãy hy vọng google sẽ sửa lỗi này trong bản phát hành Nougat +.
Surendra Kumar

1

Tôi vừa xóa ứng dụng của mình và tắt Nexus 6P. Sau khi bật lại, tôi đã cài đặt lại ứng dụng và không còn nhận được hộp thoại "lớp phủ màn hình" khi cấp quyền cho ứng dụng.


1
Điều này gần với một bình luận hơn là một câu trả lời. Bạn có thể mở rộng một chút lý do tại sao điều này hoạt động. Làm thế nào để trả lời
AgataB

1
@AgataB Tôi mới sử dụng StackOverflow. Tôi không có quyền bình luận vào thời điểm đó và tôi không biết tại sao việc tắt điện thoại và gỡ cài đặt ứng dụng lại hoạt động, tôi chỉ nghĩ nó có thể hữu ích.
Sinh viên đại học

1

Cửa sổ bật lên này là do quyền tệp kê khai.PERMISSION.SYSTEM_ALERT_WINDOW được khai báo bởi tệp kê khai.

Đó là 3 loại quyền mà nhà phát triển phải biết:

Quyền bình thường - không làm gì với chúng, chỉ cần khai báo trong Tệp kê khai

Quyền dễ bị tổn thương - khai báo trong Manifest và yêu cầu quyền ở lần đầu tiên. Chúng có thể được thay đổi thông qua cài đặt hệ thống.

Các quyền nguy hiểm trên: SYSTEM_ALERT_WINDOWWRITE_SETTINGS thuộc danh mục này. Chúng phải được cấp, nhưng không hiển thị trong cài đặt hệ thống. Để yêu cầu nó, bạn không sử dụng một cách tiêu chuẩn (int checkSelfPermission (quyền chuỗi)) mà bạn phải kiểm tra Settings.canDrawOverlays () hoặc Settings.System.canWrite () một cách thích hợp và nếu bạn không làm điều đó, bạn sẽ có ngoại lệ như

Không thể thêm cửa sổ android.view.ViewRootImpl$W@1de28ad - quyền bị từ chối đối với loại cửa sổ này

1-Yêu cầu quyền này bởi chính bạn trong mã của bạn giống như được cung cấp bên dưới:

public class MainActivity extends AppCompatActivity {

public final static int REQUEST_CODE = 10000;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    if (checkDrawOverlayPermission()) {
          Toast.makeText(this, "Permission granted", Toast.LENGTH_SHORT).show();
    }
}

public boolean checkDrawOverlayPermission() {
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
        return true;
    }
    if (!Settings.canDrawOverlays(this)) {
        Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
            Uri.parse("package:" + getPackageName()));
        startActivityForResult(intent, REQUEST_CODE);
        return false;
    } else {
        return true;
    }
}

@Override
@TargetApi(Build.VERSION_CODES.M)
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == REQUEST_CODE) {
        if (Settings.canDrawOverlays(this)) {
              Toast.makeText(this, "Permission granted", Toast.LENGTH_SHORT).show();
        }
    }
}

0

Bạn phải tắt lớp phủ cho tất cả các ứng dụng bạn thấy trong danh sách. Chỉ bằng cách này, bạn mới có thể sửa đổi các quyền trong ứng dụng bạn cần. Tôi đã làm điều đó ở chế độ an toàn và nó đã hoạt động. Cuối cùng, tôi khởi động lại điện thoại và bây giờ nó đang hoạt động tốt.


0

Tôi đã cập nhật Sony Xperia Z3 (Dual Sim) của mình lên Android 6.0.1 (Marsmallow). Tôi đã gặp sự cố về lớp phủ màn hình. Đối với tôi, tôi không có Clean Master, Du Speed ​​hoặc Du Booster (như các giải pháp tôi đã đọc).

Vì vậy, tôi đã giải quyết việc tìm kiếm bất kỳ ứng dụng lớp phủ màn hình nào.

Ứng dụng chồng chéo màn hình, là ứng dụng mà bạn có thể sử dụng để truy cập các ứng dụng khác trên màn hình chính mà không cần rời khỏi màn hình chính. Vì vậy, đối với tôi, Ứng dụng Lớp phủ màn hình ở đây trong tình huống của tôi là OMNI SWIPE . Vì vậy, nếu đang gặp phải vấn đề này, bạn cần bình tĩnh và kiểm tra xem ứng dụng nào của bạn phù hợp với định nghĩa của ứng dụng lớp phủ màn hình.

tìm ứng dụng và gỡ cài đặt, sau đó khởi động lại điện thoại của bạn ..

tôi vừa làm xong việc này và đang vui vẻ với chiếc điện thoại

May mắn nhất


0

Miễn là Android 6.x gặp lỗi trên một số thiết bị mà "cảnh báo lớp phủ" này được hiển thị mà không có lý do gì (trên 2 đến 5% thiết bị theo dữ liệu phân tích của tôi), giải pháp tốt nhất là tránh toàn bộ quy trình cấp phép bằng cách xác định targetSdk thành 22.

Hãy lưu ý rằng bạn không thể hạ cấp sdk mục tiêu cho một phiên bản mới, nếu không điều này sẽ gây ra lỗi INSTALL_FAILED_PERMISSION_DOWNGRADE khi người dùng cập nhật yêu cầu hủy gọi / cài đặt ứng dụng.


0

giải pháp là

xóa tin nhắn Toast khỏi phương thức onRequestPermissionsResult


0

Điều này xảy ra khi bạn đã cấp quyền lớp phủ cho các ứng dụng độc hại. Đi tới cài đặt lớp phủ và tắt tính năng lớp phủ trên tất cả các ứng dụng không thuộc về google và bạn sẽ sẵn sàng.


-1

Tôi gặp sự cố này khi cài đặt một ứng dụng mới. Cách tôi giải quyết vấn đề này là bật thủ công các quyền cho ứng dụng mới được cài đặt (trước khi chạy ứng dụng). Tôi khá chắc rằng đây là vấn đề với các thiết bị Android và Samsung nói riêng. Hi vọng điêu nay co ich


-4
  1. Xóa các ứng dụng có lớp phủ màn hình như CM security, Clean Master, v.v.

  2. Thậm chí xóa và thử với Messenger (ứng dụng FB) nếu cần.


Tôi đã thử điều này nhưng không giúp được gì. Ngược lại, nó gây ra việc bỏ cài đặt không cần thiết.
user3251882

Đôi khi có một lý do khiến ứng dụng được cài đặt ngay từ đầu.
Alen Siljak

Không. Chỉ cần cài đặt lại ứng dụng Clean Master và / hoặc ứng dụng Facebook Messenger. Điều này giải quyết các vấn đề đối với tôi.
Omkar Nibandhe
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.