Android Question App gets killed by OS

Blueforcer

Well-Known Member
Licensed User
Longtime User
im writing an B4Xpages app for Android Things wich is set as launcher and i have full root rights.
The App can start other apps like firefox.
Since the OS doesnt have a navigation bar, my launcher displays a overlay with some control buttons.

Unfortunally my app dies at some point, without any error message.
If the other app (in this example firefox) plays audio or Video. It toook 10-20s after media start and my app dies.
If im just surfing it stays alive for some minutes.

Unfiltered log:
B4X:
[Warning] profile: 77, level: 30, bDirect8x8InferenceFlag should be 1 (0)
getDpbSize, u4LevelIdc 30, u4DpbSize 15
channel '410279a b4a.example (server)' ~ Consumer closed input channel or an error occurred.  events=0x9
channel '410279a b4a.example (server)' ~ Channel is unrecoverably broken and will be disposed!
channel '19bf08d b4a.example/b4a.example.main (server)' ~ Consumer closed input channel or an error occurred.  events=0x9
channel '19bf08d b4a.example/b4a.example.main (server)' ~ Channel is unrecoverably broken and will be disposed!
Process b4a.example (pid 13367) has died: prcp IMPF
Scheduling restart of crashed service b4a.example/.starter in 1000ms
WIN DEATH: Window{19bf08d u0 b4a.example/b4a.example.main}
kill(-13367, 9) failed: No such process
Successfully killed process cgroup uid 10045 pid 13367 in 9ms
channel '9f71d6c InputMethod (server)' ~ Consumer closed input channel or an error occurred.  events=0x9
channel '9f71d6c InputMethod (server)' ~ Channel is unrecoverably broken and will be disposed!
Attempted to unregister already unregistered input channel '19bf08d b4a.example/b4a.example.main (server)'
WIN DEATH: Window{410279a u0 b4a.example}
Attempted to unregister already unregistered input channel '410279a b4a.example (server)'
WIN DEATH: Window{9f71d6c u0 InputMethod}
Attempted to unregister already unregistered input channel '9f71d6c InputMethod (server)'
Process rkr.simplekeyboard.inputmethod (pid 6348) has died: prcp IMPB
kill(-6348, 9) failed: No such process
Successfully killed process cgroup uid 10035 pid 6348 in 0ms
Scheduling restart of crashed service rkr.simplekeyboard.inputmethod/.latin.LatinIME in 1000ms
setHasOverlayUi called on unknown pid: 13367


i also create a new minimalistic app to test it

B4X:
Sub Class_Globals
    Private Root As B4XView
    Private xui As XUI
    Private OW As OverlayWindow
    Public Su As SuShell
End Sub

Public Sub Initialize
'    B4XPages.GetManager.LogEvents = True
End Sub

'This event will be called once, before the page becomes visible.
Private Sub B4XPage_Created (Root1 As B4XView)
    Root = Root1
    Root.LoadLayout("MainPage")
    OW.Initialize(0,0,50dip,50dip,"ow")
  
    If Su.DeviceRooted Then
        If Su.ExecuteWithEvent("ls", "Su").WaitForCompletion Then
            Su.Execute("appops set b4a.example SYSTEM_ALERT_WINDOW allow").WaitForCompletion
            Log("rooted")
        Else
            Log("not rooted")
        End If
    Else
        Log("not rooted")
    End If
  
    OW.Panel.Color=Colors.Red
    OW.Open
End Sub

'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.

Private Sub Button1_Click
    Private br As Intent
    br.Initialize(br.ACTION_VIEW, "https://google.com")
    StartActivity(br)
End Sub
 
Last edited:

JohnC

Expert
Licensed User
Longtime User
Newer versions of Android can be very aggressive in killing app to conserve battery power.

This site may help to find ways to keep your app running:

 
Upvote 0

Blueforcer

Well-Known Member
Licensed User
Longtime User
Newer versions of Android can be very aggressive in killing app to conserve battery power.

This site may help to find ways to keep your app running:


Its a Android Things IOT device with Android 8.1 without battery

it already disabled doze by

dumpsys deviceidle disable
 
Last edited:
Upvote 0
Top