2016-09-20 16 views
1

Google Play는 일부 Chromebook에서 베타 버전으로 실행됩니다. Google Play에서 애플리케이션을 사용하고 Chromebook에 다운로드 한 후이 문제가 발생했습니다. 애플리케이션의 작업이 다시 시작됩니다. 매번 '최대화'버튼을 누를 때마다 물론 내 응용 프로그램을 Chrome OS와 호환되도록 유지하고 싶습니다. 안드로이드 장치에서 문제가 어디 있는지 잘 모르겠습니다.Chrome OS의 Android 앱이 다시 시작될 때마다 '최대화'버튼이 다시 표시됩니다.

이 문제가 아니라 안드로이드 스튜디오 (I 버전 1.5을 사용)로 만든 간단한 인사 세계 프로젝트를 재현 할 수 있습니다

안드로이드 스튜디오 프레스에서

, "새 안드로이드 스튜디오 프로젝트를 시작합니다"다음 이름을 눌러 입력합니다. API 8+에 대한 호환성을 설정 한 다음 빈 활동을 선택합니다.

Toast.makeText(this, "Recreated", Toast.LENGTH_SHORT).show(); 

결과 APK가 크롬 OS를 테스트 할 수있다 : I 프로젝트 간단한 토스트 메시지에서 onCreate에 추가 8 분 SDK SDK 대상 (23)으로 설정된다. 매번 "최대화"버튼을 누르면 "재생성"메시지가 나타납니다.

AndroidManifest.xml에는 아무런 영향을주지 않았습니다. 그러나 나는 깃발을 시험했다 :

 android:configChanges="orientation|keyboardHidden" 
     android:windowSoftInputMode="adjustResize" 

성공없이. 여기

내 활동 코드를 모습입니다 :

public class MainActivity extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    Toast.makeText(this, "Recreated", Toast.LENGTH_SHORT).show(); 
} 

@Override 
public void onConfigurationChanged(Configuration newConfig) 
{ 
    super.onConfigurationChanged(newConfig); 
    Toast.makeText(this, "onConfigurationChanged", Toast.LENGTH_SHORT).show(); 
} } 

나는 onConfigurationChanged 이벤트가 나는 버튼을 누릅니다을 "최대화"때마다 트리거됩니다, 대신 onCreate()라는 것을 예상했다.

"최대화"버튼을 누를 때마다 작업이 다시 시작되는 것을 방지하려면 어떻게해야합니까? 그리고 그 "크기 조정"이벤트를 처리하는 방법.

답변

0

매니 페스트의 활동에 android:configChanges="orientation|keyboardHidden|screenLayout|screenSize|smallest‌​ScreenSize"을 사용하면 도움이됩니다.

그러나 불행히도 구성 변경시 활동을 종료하는 것이 좋습니다.

+0

감사합니다. "screenSize"로 시도했지만 작동하지 않습니다. 매니 페스트의 "orientation | keyboardHidden | screenSize"는 Android 디바이스에서는 다시 시작되지 않지만 Chrome OS에서는 다시 생성됩니다 ... 실제로 다시 시작해야하는 경우 모든 데이터를 정적 변수에 저장하고 다시로드해야합니다 "onCreate"보기 이것은 모든 뷰, 구조 등등의 초기화를 의미합니다 ... 큰 오버 헤드 .... 몇 가지 해결 방법이 있습니다. ... – user1063364

+0

먼저 "mcc", "mnc", "locale", "touchscreen"을 모두 시도해보십시오. "keyboardHidden", "navigation", "screenLayout", "fontScale", "uiMode", "orientation", "screenSize", "smallestScreenSize", "density": –

+0

하, 완벽한 생각 : 올바른 설정은 "orientation | keyboardHidden | screenLayout | screenSize | smallestScreenSize"입니다. screenLayout 또는 smallestScreenSize를 제거하면 작동하지 않습니다. 하지만 "재창조"는 이제 한 번만 표시되며 "최대화"를 누를 때마다 "onconfiguration"메시지가 표시됩니다. 나는 아크 용접기로 지금 그것을 테스트했지만, 크롬 북에서 최대한 빨리 점검 할 것입니다. 여기에 최종 결과를 쓸 것입니다. 고맙습니다. – user1063364