在我的活动中,我开始注册广播接收器以接收事件屏幕的服务。 我希望屏幕关闭时,我的活动会自动启动。
接收者的onReceive()代码:
public void onReceive(Context ct, Intent intent) {
if (Intent.ACTION_SCREEN_OFF.equalsIgnoreCase(intent.getAction())) {
final Context context;
context = ct;
Intent i = new Intent(context, ScreenSaver.class);
//i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
context.startActivity(i);
}
}
活动的Oncreate()代码
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.screensaver);
mainLayout = (LinearLayout)findViewById(R.id.mainLayout);
mainLayout.setOnClickListener(this);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
|WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
| WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
|WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
|WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
我在手机上安装了应用程序,当屏幕自动关闭或按下电源按钮时,我的活动自动启动正常(手机通过电缆与PC连接)
但是当我移除电缆时,当屏幕自动关闭时,我的活动没有启动。 我不知道为什么会有所不同。 有人可以帮我解释清楚吗?感谢