我有一个场景,我在后台服务中录制。 我想根据用户模式选择录制视频。
选择模式:纵向/横向 - 右侧/左侧
假设我选择模式为横向左侧,应用程序进入后台并且用户旋转设备,即使发生这种情况我也只想在横向左侧录制视频;
我试过以下
Car
但似乎它不会在主屏幕上获得事件。 任何人都可以帮忙解决这个问题吗?
提前致谢
答案 0 :(得分:0)
您可以将BroadcastReceiver用于后台服务,例如:
private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (intent != null) {
if (Intent.ACTION_CONFIGURATION_CHANGED.equals(intent.getAction())) {
//configuration has changed
}
}
}
};
@Override
public void onCreate() {
super.onCreate();
registerReceiver(mReceiver, new IntentFilter(Intent.ACTION_CONFIGURATION_CHANGED));
}
@Override
public void onDestroy() {
super.onDestroy();
unregisterReceiver(mReceiver);
}
您可以在documention。
中找到有关它的更多信息广播操作:当前设备配置(方向,区域设置等)已更改。当发生这种变化时,需要根据这些新信息重建UI(视图层次结构);在大多数情况下,应用程序不必担心这一点,因为系统将负责停止并重新启动应用程序以确保它看到新的更改。某些无法重新启动的系统代码需要监视此操作并对其进行适当处理。
请注意,此意图只能从registerReceiver中检索,而不能通过意图过滤器从清单中检索