2011-10-21 27 views
8

Có vẻ như có ý kiến ​​khác nhau về việc liệu có thể nắm bắt mở khóa màn hình ACTION_USER_PRESENT thông qua tệp kê khai hay không.ACTION_USER_PRESENT trong tệp kê khai với BroadcastReceiver

chủ đề này có nghĩa không có nó không thể được thực hiện:

Android Broadcast Receiver Not Working

chủ đề này ngụ ý có nó có thể được thực hiện:

Broadcast Receiver for ACTION_USER_PRESENT,ACTION_SCREEN_ON,ACTION_BOOT_COMPLETED

Tôi không thể nhận được sự kiện làm việc với trình giả lập 2.3.3 hoặc 3.2.

Có ai khác có kinh nghiệm gần đây về điều này không? Và có lẽ một mẫu mã để chia sẻ?

Trả lời

10

Sử dụng một máy thu:

public class Receive extends BroadcastReceiver { 

if (intent.getAction() != null) { 
      if 
        (intent.getAction().equals(Intent.ACTION_USER_PRESENT)) { 
Intent s = new Intent(context, MainActivity.class); 
        s.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

        context.startActivity(s); 
}} 

Và trong biểu hiện của bạn:

<receiver 
     android:name=".Receive" 
     android:enabled="true" 
     android:exported="false"> 
     <intent-filter> 
      <action android:name="android.intent.action.USER_PRESENT"/> 
     </intent-filter> 
    </receiver> 
+0

tôi được sử dụng trên mã của bạn nhưng lần đầu tiên hoạt động khóa của tôi là mở nhưng tôi không biết sau đó gọi nó automaticlly hộp thoại hình nền khi màn hình bật. khi hộp thoại này mở thay vì hoạt động khóa của tôi khi màn hình bật ... hãy giúp nhanh chóng nhờ ... –

+0

Tôi sẽ không sử dụng 'android: exported =" false "' cũng không được phép tại ' '-Tag, xem http://stackoverflow.com/questions/29081414/why-wont-this-broadcast-receiver-wor k-in-lollipop # bình luận58423396_29274695 – OneWorld

Các vấn đề liên quan