이제 내 응용 프로그램 중 하나를 단편을 사용하도록 변환하려고합니다. 이 앱은 Android 라이센스 검사기를 사용합니다. 테스트하는 동안 라이센스 검사기 코드를 주석 처리하고 이제 원하는대로 작동하는 응용 프로그램을 갖게되었습니다. 나는 시장에 그것을 다시 넣을 수 있도록 코드를 주석 처리 할 준비가되었다. 그러나 내가 할 때마다 나는이 메시지를 앱을 시작할 때마다 받는다.활동에 첨부되지 않은 조각에 대한 IllegalStateException
java.lang.IllegalStateException : 조각 MainHomeFragment {40544bd8}이 붙지 않았다. to Activity
전화 나 에뮬레이터로 테스트 할 때 이런 일이 발생합니다. 라이센스 검사기가 빨리 완료되지 않는 것처럼 보입니다. 조각을 부 풀리면 첨부 할 활동이 없습니다. 처음에 앱을 시작한 후 다시 버튼을 누르면 즉시 다시로드하고 다시 시도했습니다. 라이센스 검사기가 첫 번째 시도에서 실행 중이었을 것으로 생각했기 때문에 다음에 다시 키를 사용하기 전에 5 분을 기다렸다가 같은 문제가 발생했습니다. 이상한 것은 애플 리케이션이 2 번째 시간을 날려 버린 후에 다시 시도하면된다. 그러나 4 번째 시도에서는 다시 실패한다. 그래서 첫 번째 시도에서 성공하지 못하면 안된다. LicenseChecker 코드를 주석 처리하고 다시 실행하면 매번 작동합니다. 쓰레드로서 새로운 클래스의 LicenseChecker에 대한 호출을 시도 했으므로 생성되는 Activity를 유지하지 못하지만 여전히 동일한 문제가 발생합니다. 이 문제를 해결하기 위해 노력해야 할 아이디어가 있습니까? 여기
내 주요 FragmentActivity의에서 onCreate 코드 : 왜 당신이 처음에로드 뷰와setContentView
을하지 않고 함께 다음 라이센스 절차를 마친 후, 당신은
setContentView
"진짜"를 할
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ConnectivityManager connectivityManager
= (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork =
connectivityManager.getActiveNetworkInfo();
if (activeNetwork != null) {
android_id = Secure.getString(this.getContentResolver(),
Secure.ANDROID_ID);
mObsfuscator = new AESObfuscator(SALT, getPackageName(), android_id);
ServerManagedPolicy serverPolicy = new
ServerManagedPolicy(this, mObsfuscator);
mLicenseCheckerCallback = new MyLicenseCheckerCallback();
mChecker = new LicenseChecker(this, serverPolicy,
BASE64_PUBLIC_KEY);
mChecker.checkAccess(mLicenseCheckerCallback);
}
setContentView(R.layout.fragment_layout);
}
업데이트를 추가합니다. 라이센스 검사기에서 라이센스 검사기가 공유 환경 설정에서 실패한 횟수를 계산하고 있다는 사실을 잊어 버렸습니다. 그 이유는 지금은 실패 할 것 같은 사용자가 몇 명 있었기 때문입니다. 그들에게 오류 메시지를주기 전에 몇 번 실패하게하십시오. 내가 SharedPreferenceEditor에서 commit()을 주석 처리하면 오류가 사라지지만 넣으려고하는 값이 저장되지 않습니다. 이슈가 발생하고 매번 다른 시간에 만 실행되는 이유는 무엇입니까? – Chris