2015-09-06 110 views
-1

我有一个聊天应用程序,我想要做的是当手机进入睡眠状态或进入背景时结束应用程序。我这样做了:手机进入睡眠状态并保存历史时完成应用程序

@Override 
public void onPause() { 
    finish(); 
    super.onPause(); 
} 

这是后面的按钮(或操作栏后退)不在前一个活动,而是在主要活动,而不是在前面的活动。应用程序的历史不再保存。我需要保存历史记录,但同时还需要完成应用程序的睡眠或处于后台的应用程序。我怎样才能做到这一点?

回答

0

你需要使用广播接收器,那么你可以做所有的改变,你可以做一次你的onReceive()调用。

在你的清单中添加接收器和意图过滤这样

<receiver android:name=".ScreenOnOffReceiver"> 
    <intent-filter> 
     <action android:name="android.intent.action.SCREEN_ON" /> 
     <action android:name="android.intent.action.SCREEN_OFF" /> 
    </intent-filter> 

你可以把所有的逻辑在Java代码中。

public class ScreenOnOffReceiver extends BroadcastReceiver 
{ 
    @Override 
    public void onReceive(Context context, Intent intent) 
    { 
    if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) 
    { 
        // some code 
    } 
      if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) 
    { 
        // put your all logic here 
    } 
} 

}

希望这会有所帮助。

相关问题