간단한 전자 책을 만들고 있지만 일부 활동의 화면 밝기를 내 기본 활동에서 변경하고, 블루투스에서 데이터를 받고 백그라운드에서 계속 실행되는 내용을 변경해야합니다 책이 달릴 때. 제 질문은 MainActivity에서 Page1Activity 또는 그 반대의 함수를 호출하는 방법입니다. 내가 활동 중 하나에이 코드를 넣을 경우다른 활동의 활동 설정을 변경하는 가장 좋은 방법
, 페이지 유일한 것, 나는 활동의 밝기를 변경할 수 있습니다,하지만 난 정말 내가 하나를 사용하는 경우 다른
WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.screenBrightness = adjusted;
getWindow().setAttributes(lp);
하나에서 해당 호출해야 생성시 변경 사항을 표시하지만 데이터를 수신 할 때마다 페이지를 다시 만들고 싶지는 않습니다.
android.provider.Settings.System.putInt(getContentResolver(),
android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE,
android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);
android.provider.Settings.System.putInt(getContentResolver(),
android.provider.Settings.System.SCREEN_BRIGHTNESS, (int)(255*adjusted));
그럼 내가 가져 오거나 getWindow()
를 사용하는 활동을 저장할 수있는 방법이 있는지 알고 있어야합니다 경우, 또는 두 활동 사이에 또는 그렇게하는 또 다른 방법이있는 경우 함수를 호출 할 수있는 방법을 존재합니다.
추신 : 볼륨을 변경하는 기능을 알고 있습니다. 주 활동에서이를 사용하면, 전체 시스템의 오디오가 즉시 변경됩니다. 누군가가 그와 같은 밝기로 사용할 기능을 알고 있다면, 내 문제를 해결하는 가장 간단한 방법.
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC,
volAdjusted, AudioManager.FLAG_SHOW_UI);
다른 Android 구성 요소에서 직접 하나의 '활동'에 액세스하지 마십시오. 다른 하나가 보이면 하나의 '활동'이 존재한다는 보장은 없습니다. 'SharedPreferences'에서 설정을 사용하거나 원하는'Activity'를 시작할 때'Intent' 엑스트라에 값을 전달하면됩니다. – Squonk
SharedPreferences의 변수를 듣기 위해 스레드를 만들어야합니까? –