본문 바로가기

컴퓨터

클릭 연결 활동 만들기

프로그래밍 방식으로 휴대 전화의 밝기를 조정하려고합니다. 이 작업을 수행 할 수있는 반투명 한 활동이 내 앱에 있지만 사용자가 그 아래의 활동 / 창을 클릭 할 수 없습니다. 밝기를 설정하자마자이 활동을 종료합니다. 그러나 시간이 필요한이 활동 (점진적 밝기 조정 등)에서 더 많은 작업을하고 싶습니다. 사용자가 왜 자신의 행동을 궁금해하는 휴대 전화를 두드리기를 원하지 않습니다. 등록되지 않았습니다.

따라서 기본적으로 표시되지 않고 화면 밝기를 성공적으로 조정할 수있는 모의 창을 만들거나 활동을 클릭 연결하는 방법을 알아 내야합니다. 나도 어떻게 해야할지 모르겠다.

BTW, 이것은 활동에서 밝기를 조정하는 코드입니다.

android.provider.Settings.System.putInt(getContentResolver(),
android.provider.Settings.System.SCREEN_BRIGHTNESS, Math.round(SOME_BRIGHTNESS * 255f));

Window window = getWindow();
window.getAttributes().screenBrightness = SOME_BRIGHTNESS;
window.setAttributes(window.getAttributes());

float sysBrightPer = getSystemBrightness(getApplicationContext());

new Thread() {
public void run() {
try {
sleep(BRIGHT_TIMEOUT);
} catch (InterruptedException e) {
e.printStackTrace();
}
finish();
}
}.start();
어떤 충고?

PS 시장에서이 앱을 찾았습니다. 이것이 달성 된 방법이 저에게 도움이 될지 궁금합니다. https://market.android.com/details?id=com.haxor

기계적 인조 인간
안드로이드 활동
창문
공유 이 질문을 개선 따르다
생성 08 jul.
생성 08 jul.

글리치
2,7651골드 배지 1 개25은색 배지 25 개50브론즈 배지 50 개
나는 그것을 고려하지 않았지만, API 레벨이 목표 시장에 비해 너무 높기 때문에 정당한 이유가 있습니다. – Glitch 2011 년 7 월 9 일 2:59
해결책을 찾았습니다. 어쨌든 당신은 어떤 API 수준 :-)에 사용할 수있는 단편화 공식 호환성 라이브러리를 사용할 수 있습니다 - neteinstein 7월 11일 '11 9시 57분에서
의견을 추가하다
3 개의 답변

6

하! 그 앱이 저를이 솔루션으로 이끌었 기 때문에 저를 도왔습니다! 밝기 스크린 필터

클릭 게으른 경우 다음을 사용하십시오.

getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);  

공유 이 답변을 개선 따르다
생성 23 may.

커뮤니티 ♦
11은색 배지 1 개
생성 08 jul.

글리치
2,7651골드 배지 1 개25은색 배지 25 개50브론즈 배지 50 개
호기심으로 : 클릭 연결 활동을하나요? – neteinstein 2011 년 7 월 11 일 14:14
내가 말할 수있는 한, 그렇습니다. – Glitch 2011 년 7 월 11 일 14:46
5
네, 클릭 연결 활동이됩니다. 그러나이 활동의 ​​모든보기도 클릭 연결이됩니다. 조회 클릭을 가로 채려면 어떻게해야합니까 (가장 높은 활동에서)? – MatheusJardimB '14 년 3 월 17 일 20:26
의견을 추가하다

0

창 자체에 적용하면 더 이상 4.0 이상에서 작동하지 않습니다 (아마도 투명 오버레이에서 onkey와 같은 활동 클래스 메서드 사용을 방지하기 위해). 그러나 여전히 windowmanager.addview 또는 layoutinflater.inflate를 사용하여 뷰 그룹을 확장하는 사용자 정의 뷰 클래스를 추가 할 수 있으며,이 뷰를 추가하거나 확장 할 때 layoutparams.FLAG_NOT_TOUCHABLE을 사용하면 클릭 연결되며 그것을 호출 한 활동은 onpause로 들어갑니다.

공유 이 답변을 개선 따르다
생성 26 Oct.

로닌 세이 토
1011은색 배지 1 개4브론즈 배지 4 개
의견을 추가하다

0

getWindow (). addFlags (WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);

특정 뷰에 대한 터치를 차단하려면 창 관리자를 사용하여 다른 플래그가있는 뷰를 추가 할 수 있습니다. 예 :

WindowManager.LayoutParams params = new WindowManager.LayoutParams(...); getWindowManager().addView(myButton,params);