I got incoming call and working well. But when my screen is turn off and an incoming call is come. Then my screen light is not on. I am using this code in onCreate():-

getWindow().addFlags(
            WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON
          | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
          );


    PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
     wl = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "My Tag");
    wl.acquire();

Also when my screen light ON and an incoming call come then my connection with server is successful. But when my screen light OFF and incoming call come(by service run in background for registration with server) then my registration is failed .

please android expert help me!

有帮助吗?

解决方案

use the following in oncreate

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

and use the permission

<uses-permission android:name="android.permission.WAKE_LOCK" >
</uses-permission>
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" >
</uses-permission>
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top