android - गरप - स्क्रीन लॉक पैटर्न




डिफ़ॉल्ट लॉक स्क्रीन पर एंड्रॉइड गतिविधि (3)

आप यहां किसी भी उत्तर में कोड का उपयोग कर सकते हैं जो आपको लगता है कि यह काम कर रहा है। फिर होम बटन को काम करने के लिए रोकने के लिए, TYPE_SYSTEM_ALERT या TYPE_SYSTEM_OVERLAY बदलें (जो आप वर्तमान में उपयोग करते हैं उस पर निर्भर करता है) TYPE_SYSTEM_ERROR :

params = new WindowManager.LayoutParams(
    WindowManager.LayoutParams.MATCH_PARENT,
    WindowManager.LayoutParams.MATCH_PARENT,
    WindowManager.LayoutParams.TYPE_SYSTEM_ERROR,
    WindowManager.LayoutParams.FLAG_FULLSCREEN | 
    WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | 
    WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD,
    PixelFormat.TRANSLUCENT
);
params.gravity = Gravity.TOP;
mOverlay = (RelativeLayout) inflater.inflate(R.layout.main, (ViewGroup) null);
mWindowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
mWindowManager.addView(mOverlay, params);

लॉक स्क्रीन पर दिखाई देने के लिए मैं Activity या Dialog कैसे प्रदर्शित कर सकता हूं?

Activity.onCreate() विधि में विभिन्न विंडो प्रकार सेट करके स्क्रीन चालू होने पर मैंने अपनी लॉक गतिविधि को प्रदर्शित करने का प्रयास कर लिया है:

TYPE_PRIORITY_PHONE
TYPE_SYSTEM_ALERT
TYPE_KEYGUARD

और दूसरों को SYSTEM_ALERT_WINDOW और INTERNAL_SYSTEM_WINDOW अनुमतियों के साथ मिलकर।

डिवाइस को अनलॉक करने के बाद मेरी गतिविधि दिखाई दे रही है।

अद्यतन करें:

मैं वास्तव में डिफ़ॉल्ट लॉक स्क्रीन के बजाय वास्तव में अपनी गतिविधि प्रदर्शित करने में कामयाब रहा हूं। जब तक आप होम बटन का उपयोग नहीं करते हैं, यह पूरी तरह से काम करता है।


इसे क्रिएट विधि में प्रयोग करें

getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);  
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON); 
// This line should be before setContentView..      
setContentView(......);

उम्मीद है कि यह काम करेगा धन्यवाद


getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON|
            WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD|
            WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED|
            WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);

गतिविधि शुरू होने पर लॉक स्क्रीन को अक्षम करने के लिए इस झंडे का उपयोग करने का प्रयास करें।

एपीआई स्तर 17 के बाद आप इसका उपयोग कर सकते हैं

<activity
        android:name=".yourActivityName"
        android:showOnLockScreen="true"
        android:screenOrientation="sensorPortrait" >

उदाहरण में जैसेऑन लॉकस्क्रीन ...





android-windowmanager