gpt4 book ai didi

java - Gamemaker Studio android java 扩展不执行 Intent

转载 作者:搜寻专家 更新时间:2023-11-01 09:38:40 27 4
gpt4 key购买 nike

我正在做一个扩展来更新操作系统,有一个新的图像文件,它被 GM:S 中的一个函数调用,如下所示:

osNotice(files+"/newButtonSkin.png");

注意变量files是绝对路径

然后该函数将其作为字符串发送到 java 类扩展:

            package ${YYAndroidPackageName};//Import the GM:S stuff
import ${YYAndroidPackageName}.R;
import com.yoyogames.runner.RunnerJNILib;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Environment;
import android.util.Log;
import java.io.File;
import java.lang.String;


public class PickMe extends Activity {
public final void osNotice(String fupdate)//Notify the OS that there's a new media file available
{
Log.i("yoyo", "New file to alert os- "+fupdate);
String canAlert = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(canAlert))

{
File file = new File(fupdate);
Log.i("yoyo", "File ready to send- "+ fupdate);
Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(file));
intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
sendBroadcast(intent);
Log.i("yoyo", "Updated sucessfully! "+fupdate);
}
else
Log.i("yoyo", "Could not update file- "+fupdate);
}
}

在我的 list 中我注入(inject)了:

    <activity android:name=".PickMe"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

这是游戏运行时日志文件的屏幕截图:

Runner Log file

运行app的结果是image没有更新到os,为什么intent没有运行呢?当我知道方法正在运行时,为什么日志显示“无法在扩展类上找到方法:null”?

最佳答案

解决了!!使 Gamemaker: Studio 端可以看到 Intent ,您必须调用:

        RunnerActivity.CurrentActivity.sendBroadcast(intent);

在最终构建 Intent 之后。这告诉 gm:s 端媒体扫描器的广播 Intent 已经开始。感谢 GMC 社区的 Mool 向我指出这一点!!

更详细地说,广播 Intent 与启动 Activity 的其他 Intent 不同,广播 Intent 在扩展的 java 端触发异步事件,如果您在 java 文件中启动 Activity ,您会提醒 jnilib gm:s 与

        RunnerActivity.CurrentActivity.startActivity(intent);

还要记得像这样扩展你的类(class):

public class MyClass extends Activity {// for either broadcast or start activity

关于java - Gamemaker Studio android java 扩展不执行 Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41291279/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com