2013. 8. 2. 11:26ㆍ프로그래밍/Android
이번에 닌자와좀비들을 중국향으로 개발하면서 IAP모듈을 적용하는 과정에서 다음과 같은
"Only the original thread that created a view hierarchy can touch its views." 에러가 발생되었습니다.
이럴 경우에는 다음과 같이 runOnUiThread(new Runnable() 로 묶어주시면 정상적으로 해결됩니다.
중국향이라 중국어는 어떤 내용인지를 정확하게 알수없지만 그래도 함수명과 변수들은 알수 있습니다.
private class doIAP extends AsyncTask<Void, Void, Void>
{
@Override
protected Void doInBackground(Void... params)
{
Looper.prepare();
/*
* ????点核心??方法,自?完成全部短代?程
* @param feeName ??点??符(自由定?,不可包含#?),不同??点此?必?不同
* @param activity Activity 不能?null
* @param listener SMSListener接口,?理?送成功和失?的操作,不能?null
* @param feeCode 短代代?,?登?平台???品??信息?完整?制??的??点!!?用按平台上此??点的???用?!
* @param tip 短代提示?
* @param okInfo 短代?送成功的提示?
* @param isRepeat 是否可重???(true????点,false?硬??点)
* @return 返回是否已???
*/
runOnUiThread(new Runnable()
{
@Override
public void run() {
String feeName = "gold_100";
SMS.checkFee(feeName, MyActivity.this, new SMSListener()
{
public void smsOK(String feeName) {
//短代?送成功
Log.i("SMSListener", "???点"+feeName+"已??完成,??已打?.");
m_BillingResult = OK;
}
public void smsFail(String feeName, int errorCode) {
Log.e("SMSListener", "第一????点??失?!["+feeName+"] ???:"+errorCode);
m_BillingResult = FAIL;
}
public void smsCancel(String feeName, int errorCode)
{
Log.e("SMSListener", "用?点?取消!??点:"+feeName+" ???:"+errorCode);
m_BillingResult = CANCEL;
}
}, "0111C001071101204~00000000", "??100金?("+feeName+"),点??定???送一?1元短信,不含信息?.", "?送成功!已成功?得100金?!",true);
}});
Looper.loop();
return null;
}
protected void onPostExecute(Void result)
{
}
}
'프로그래밍 > Android' 카테고리의 다른 글
게임내 다국어 지원 설정 기능 추가하기.. (0) | 2013.08.13 |
---|---|
java.sql.SQLException: Incorrect string value: MySQL에 다음과 같은 에러가 발생할 경우 다음과같이 처리하시면 됩니다. (0) | 2013.08.07 |
중국향 모바일 게임 서비스를 준비할때 주의할 점들. (0) | 2013.07.10 |
socialauth-android-sdk-2.5 새로운 버전 내려받기. (0) | 2013.06.23 |
socialauth-android 2.5버전의 Twitter Posting시 문제 발견되었습니다. (0) | 2013.06.14 |