2013-05-22 107 views
0

如何在Android中保持屏幕?如何在Android上保持屏幕?

Intent callIntent = new Intent(Intent.ACTION_CALL); 
callIntent.setData(Uri.parse("tel:" + Uri.encode("+86 212312142"))); 
startActivityForResult(callIntent, 100); 

我希望屏幕保持打开,即使在电话拨号活动。 (无DIM)

我试试这个

PowerManager pm = (PowerManager) act.getSystemService(Context.POWER_SERVICE); 
PowerManager.WakeLock wakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK, "XXXX"); 
wakeLock.acquire(); 
+0

您是否向清单添加了权限? –

回答

0

我认为你需要添加额外的使用许可激活锁定

<uses-permission android:name="android.permission.WAKE_LOCK" /> 

但不是激活锁定,我建议你使用:

@Override 
    protected void onCreate(Bundle savedBundle) { 
     super.onCreate(savedBundle); 

     getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 
    } 

这里有一个很好的关于不使用唤醒锁的讨论 - >Force Screen On

+0

这个功能在我的活动中非常完美。但是,当我开始拨号活动(Android默认拨号活动有电话呼叫)时,屏幕将变暗,最后关闭。 –

+0

您是否尝试过唤醒锁定功能?我认为它会起作用,但缺点是使用此API会严重影响设备电池寿命。除非您确实需要PowerManager.WakeLocks,否则请勿使用PowerManager.WakeLocks,尽可能使用最低级别,并确保尽快将其释放。 –