Я пытаюсь сделать именно так: { ссылка }, но без приостановки / перезапуска текущей активности. Как мне это сделать?
Это расширение android для GameMaker.
Я также изменил startActivityForResult()
на RunnerActivity.CurrentActivity.startActivityForResult()
, иначе оно не работает ( https://forum.yoyogames.com/index.php?threads / android -extension-problem-with-start-intent.15410 / )
Консоль (после открытия галереи перед выбором изображения): https://imgur.com/KnLXhDc
Мой java код прямо сейчас:
package ${YYAndroidPackageName};
import ${YYAndroidPackageName}.R;
import com.yoyogames.runner.RunnerJNILib;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.ParcelFileDescriptor;
import android.os.Parcelable;
import android.provider.MediaStore;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;
import java.io.FileDescriptor;
import java.util.ArrayList;
import java.io.File;
import java.io.FileReader;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.lang.String;
public class GenericTest extends Activity
{
// this is the action code we use in our intent,
// this way we know we're looking at the response from our own action
private static final int SELECT_SINGLE_PICTURE = 101;
public static final String IMAGE_TYPE = "image/*";
private static final int EVENT_OTHER_SOCIAL = 70;
public double AddTwoNumbers(double arg0, double arg1) /// Testing
{
double value = arg0 + arg1;
Log.i("yoyo", arg0 + " + " + arg1 + " = " + value);
return value;
}
public double Pick() /// What im executing from GameMaker
{
Intent intent = new Intent();
intent.setType(IMAGE_TYPE);
intent.setAction(Intent.ACTION_GET_CONTENT);
Log.i("yoyo", "start~~");
try
{
RunnerActivity.CurrentActivity.startActivityForResult(Intent.createChooser(intent, "Select Picture"), SELECT_SINGLE_PICTURE);
} catch (Exception e) {
Log.i("yoyo", "error", e);
}
return 0;
}
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
if (requestCode == SELECT_SINGLE_PICTURE) {
String path = data.getData().toString();
Log.i("yoyo", path); // DOESN'T SHOW THIS ON CONSOLE!
int dsMapIndex = RunnerJNILib.jCreateDsMap(null, null,null);
RunnerJNILib.DsMapAddString( dsMapIndex, "type", "imagepath" );
RunnerJNILib.DsMapAddString( dsMapIndex, "selectedImageUri", path);
RunnerJNILib.CreateAsynEventWithDSMap(dsMapIndex, EVENT_OTHER_SOCIAL);
}
}
}
} // End of class