2010-02-03 2 views
0

내 응용 프로그램에 사용자를 로케일 설정으로 보내는 버튼이 있습니다. 나는이 코드를 사용하여이 작업을 수행 :android.settings.INPUT_METHOD_SETTINGS이 (가) HTC 영웅과 작동하지 않습니다.

startActivity(new Intent(android.provider.Settings.ACTION_INPUT_METHOD_SETTINGS)); 

이 어떤 장치와 잘 작동하지만, HTC 영웅과 내가 얻을 :

02-03 13:59:27.501: INFO/ActivityManager(69): Starting activity: Intent { action=android.settings.INPUT_METHOD_SETTINGS flags=0x10000000 } 
02-03 13:59:27.531: DEBUG/AndroidRuntime(1916): Shutting down VM 
02-03 13:59:27.531: WARN/dalvikvm(1916): threadid=3: thread exiting with uncaught exception (group=0x40013140) 
02-03 13:59:27.531: ERROR/AndroidRuntime(1916): Uncaught handler: thread main exiting due to uncaught exception 
02-03 13:59:27.611: ERROR/AndroidRuntime(1916): android.content.ActivityNotFoundException: No Activity found to handle Intent { action=android.settings.INPUT_METHOD_SETTINGS flags=0x10000000 } 
02-03 13:59:27.611: ERROR/AndroidRuntime(1916):  at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1529) 
02-03 13:59:27.611: ERROR/AndroidRuntime(1916):  at android.app.Instrumentation.execStartActivity(Instrumentation.java:1499) 
02-03 13:59:27.611: ERROR/AndroidRuntime(1916):  at android.app.Activity.startActivityForResult(Activity.java:2669) 
02-03 13:59:27.611: ERROR/AndroidRuntime(1916):  at android.app.Activity.startActivity(Activity.java:2713) 

편집 : 솔루션!

Intent intent = new Intent(); 
intent.setAction(Intent.ACTION_MAIN); 
ComponentName com = new ComponentName("com.android.settings", "com.android.settings.LanguageSettings"); 
intent.setComponent(com); startActivity(intent); 

앞의 코드는 모든 장치에서 작동합니다 :)

답변

1

공식적으로, 당신은 아마 문제를 해결할 수 없습니다. HTC는 당신이 실행중인 특정 Hero 펌웨어로 SDK를 파기했을 것입니다. android.os.Build을 사용하여 사용자가 영웅임을 식별하고 실패한 startActivity() 통화로 연결되는 모든 옵션을 사용 중지 할 수 있습니다 (예 : 이러한 설정을 열려고하는 메뉴 선택 사용 중지).

비공식적으로 설정 응용 프로그램을 통해 수동으로 해당 화면으로 이동하여 LogCat 출력을 확인하십시오. 특정 스크린을 트리거 할 수있는 인 텐트 (있는 경우)를 결정할 수 있습니다.

+0

멋진 아이디어 내가 고칠 수 있습니다! Plz이 답변을 답안에 추가하고 정확한 것으로 알려 드리겠습니다. \t \t \t \t 의도 의도 = 새로운 의도(); \t \t \t \t intent.setAction (Intent.ACTION_MAIN); \t \t \t \t ComponentName com = 새 ComponentName ("com.android.settings", "com.android.settings.LanguageSettings"); \t \t \t \t intent.setComponent (com); \t \t \t \t startActivity (인 텐트); – Macarse

관련 문제