msg ์ ๋นจ๊ฐ๋ถ์ด ๋ค์ด์จ ์ด์ ๋ฅผ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
๋น์ ๊ณต์์ ๋๋ค. ๊ณ ์๋ ์๋ ค์ฃผ์ญ์์ค
์ฝ๋๋ ์๋์ ๊ฐ์ต๋๋ค.
- - - - - - - - - -- - - ---ย
Handler mAfter = new Handler(Looper.getMainLooper());
{
@Override
public void handleMessage(Message msg) {
if(msg.arg1 == 302){
//์นด๋ฉ๋ผ
mFilePathCallback = (ValueCallback<Uri[]>) msg.obj;
String mVersion = Build.VERSION.RELEASE;
Log.e("SKY" , "mVersion :: " + mVersion);
if (Integer.parseInt(mVersion.split("\\.")[0]) < 7){
//๊ธฐ์กด 6
Log.e("SKY" , "startCameraMin");
startCameraMin();
}else{
Log.e("SKY" , "startCamera");
startCamera();
}
}else if(msg.arg1 == 500){
mFilePathCallback = (ValueCallback<Uri[]>) msg.obj;
CharSequence info[] = new CharSequence[] { "์ฌ์ง์ดฌ์","์ฌ์ง์จ๋ฒ", "์ทจ์"}; //"์ฌ์ง์ดฌ์",
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this , 5);
builder.setTitle("์ ํํด์ฃผ์ธ์");
builder.setCancelable(false);
builder.setItems(info, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Message msg2;
switch(which)
{
case 0:
msg2 = mAfter.obtainMessage();
msg2.obj = mFilePathCallback;
msg2.arg1 = 302;
mAfter.sendMessage(msg2);
break;
case 1:
msg2 = mAfter.obtainMessage();
msg2.obj = mFilePathCallback;
msg2.arg1 = 301;
mAfter.sendMessage(msg2);
imageChooser();
break;
case 2:
Log.e("SKY" , "WUpload_no_ext");
mFilePathCallback.onReceiveValue(null);
mUploadMessage = null;
break;
}
dialog.dismiss();
}
});
builder.show();
}
}
};
@Override
public void handleMessage(Message msg) {
if(msg.arg1 == 302){
//์นด๋ฉ๋ผ
mFilePathCallback = (ValueCallback<Uri[]>) msg.obj;
String mVersion = Build.VERSION.RELEASE;
Log.e("SKY" , "mVersion :: " + mVersion);
if (Integer.parseInt(mVersion.split("\\.")[0]) < 7){
//๊ธฐ์กด 6
Log.e("SKY" , "startCameraMin");
startCameraMin();
}else{
Log.e("SKY" , "startCamera");
startCamera();
}
}else if(msg.arg1 == 500){
mFilePathCallback = (ValueCallback<Uri[]>) msg.obj;
CharSequence info[] = new CharSequence[] { "์ฌ์ง์ดฌ์","์ฌ์ง์จ๋ฒ", "์ทจ์"}; //"์ฌ์ง์ดฌ์",
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this , 5);
builder.setTitle("์ ํํด์ฃผ์ธ์");
builder.setCancelable(false);
builder.setItems(info, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Message msg2;
switch(which)
{
case 0:
msg2 = mAfter.obtainMessage();
msg2.obj = mFilePathCallback;
msg2.arg1 = 302;
mAfter.sendMessage(msg2);
break;
case 1:
msg2 = mAfter.obtainMessage();
msg2.obj = mFilePathCallback;
msg2.arg1 = 301;
mAfter.sendMessage(msg2);
imageChooser();
break;
case 2:
Log.e("SKY" , "WUpload_no_ext");
mFilePathCallback.onReceiveValue(null);
mUploadMessage = null;
break;
}
dialog.dismiss();
}
});
builder.show();
}
}
};
์ด๊ฑฐ๋ณด๊ณ ์ด์งธ์๋. ํด๋์ค๋ถ๋ถ๊น์ง ์ฌ๋ฆฌ๋๊ฐ. ์ค๋ฒ๋ผ์ด๋์ ๋นจ๊ฐ์ค ์๋๊ฑฐ ๋ณด๋ ๊ทธ ๋ฌธ์ ๊ฒ ์ง
Handlerย mAfterย =ย newย Handler(Looper.getMainLooper()); ๋ง์ง๋ง์ ; ์ง์๋ณด๋๊ฐ
new Handler(์ด์ฉ๊ตฌ) ๋ค์ ; ์ด๊ฑฐ ์๋ถ์ด์์ ์ง์ฐ์