Android Question Popup window while phone is locked

Shay

Well-Known Member
Licensed User
Longtime User
I wish to popup window while incoming call.
while phone is off + locked, once call is incoming I am getting andriod "incoming call screen"
but my popup is not coming. (toastmessage are appearing)
I know it is possible since "TrueCaller" app is doing it - I am getting their popup even if my phone is locked.
how do I do it?
 

MarkusR

Well-Known Member
Licensed User
Longtime User
truecaller have this permission "disable your screen lock"
i read some apps disable and replace the lock screen to act free.

you can register for some events with this lib
https://www.b4x.com/android/help/phone.html
 
Upvote 0

Shay

Well-Known Member
Licensed User
Longtime User
How do I do it? (disable the lock) - I have lock with password / fingerprint
 
Upvote 0

Shay

Well-Known Member
Licensed User
Longtime User
Thanks, but this is not helping.
Best case I am seeing my screen for half second till incoming call screen appears
I am using all of these flags:
B4X:
    Window.RunMethod("addFlags", Array As Object(131072)) 'FLAG_NOT_FOCUSABLE
    Window.RunMethod("addFlags", Array As Object(16)) 'FLAG_NOT_TOUCHABLE
    Window.RunMethod("addFlags", Array As Object(32)) 'FLAG_NOT_TOUCH_MODAL
    Window.RunMethod("addFlags", Array As Object(128)) 'FLAG_KEEP_SCREEN_ON
    Window.RunMethod("addFlags", Array As Object(4194304 )) 'FLAG_DISMISS_KEYGUARD
    Window.RunMethod("addFlags", Array As Object(524288)) 'FLAG_SHOW_WHEN_LOCKED
    Window.RunMethod("addFlags", Array As Object(2097152 )) 'FLAG_TURN_SCREEN_ON
 
Upvote 0

wes58

Active Member
Licensed User
Longtime User
Thanks, but this is not helping.
Best case I am seeing my screen for half second till incoming call screen appears
What you wrote make sense to me. I think that's how it should work.
Your screen appears ON TOP of the lock screen. Then incoming call screen shows, and it appears ON TOP of your screen.
If they have similar settings/permissions - i.e. show on top of other windows, it makes sense that that last popup/screen that shows, will be on top of the previous one.

What will happen if after incoming screen shows, you try to show your screen again? Will it be on top?
 
Upvote 0

Erel

B4X founder
Staff member
Licensed User
Longtime User
Upvote 0

wes58

Active Member
Licensed User
Longtime User
This is true if running it on API 23 - 25.
If using API26 then there are some changes (as usual with every new upgrade Google is making life difficult) - see this https://stackoverflow.com/questions...api-26-not-working-as-expected-permission-den and this https://developer.android.com/about/versions/oreo/android-8.0-changes
 
Upvote 0

Shay

Well-Known Member
Licensed User
Longtime User
so what is the suggestion for me, to handle this?
maybe I can force the screen to split and the incoming call screen will appear up, and my window down the screen? (is it possible?)
 
Upvote 0

Shay

Well-Known Member
Licensed User
Longtime User
b.t.w - again, this below solution seems to work, it draws background screen on top of the incoming call screen (and stays even if I am getting call / phone is locked)
https://www.b4x.com/android/forum/threads/screen-blue-filter-resolved.77335/#post-489936
and it stays like this (yes it is crashing with sdk 26, but with sdk 23 it is fine)
so what I need to do is either to load my layout on top of this code, or native draw labels and imageview on it (which I don't know how to do it in java).
any suggestions?
 
Upvote 0

Erel

B4X founder
Staff member
Licensed User
Longtime User
and it stays like this (yes it is crashing with sdk 26, but with sdk 23 it is fine)
You will not be able to submit your app to Google Play without setting targetSdkVersion to 26.
Drawing over other apps is a problematic feature. I don't think that there is any library available that will work properly on new devices.
 
Upvote 0
Cookies are required to use this site. You must accept them to continue using the site. Learn more…