gpt4 book ai didi

android - 是否有可能在 NativeActivity 上有一个 Activity 并仍然在 NativeActivity 中获取输入?

转载 作者:太空狗 更新时间:2023-10-29 15:08:05 29 4
gpt4 key购买 nike

我有一个单独运行的 NativeActivity,我尝试添加一些 SDK(更准确地说是 Admob/Chartboost/Facebook)。

另一方面,只有当我们在参数中传递一个 Activity 时,我才有管理所有 SDK 的自定义脚本。

我的目标是在我的 NativeActivity 上使用自定义 Activity 管理所有 SDK。

我的问题:

  • 有可能吗?
  • 有没有比我的更简单的解决方案?

到目前为止,我的输入卡在 Activity 中。

这是我的 NDK 类(来自 android-ndk 示例):

public class TeapotNativeActivity extends NativeActivity {
// Some previous code
public void showUI()
{
// Some previous code
ASE_GUIActivity.pNatAct = this;
Intent startNewActivityOpen = new Intent(this, ASE_GUIActivity.class);
this.startActivity(startNewActivityOpen);
}
}

这是我的 Activity 课:

public class ASE_GUIActivity extends Activity {

public static NativeActivity pNatAct;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}

@Override
public boolean onTouchEvent(MotionEvent ev) {

pNatAct.onTouchEvent(ev);
return super.onTouchEvent(ev);
}
}

最后是我的 AndroidManifest.xml :

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.sample.teapot"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="17" />
<uses-feature android:glEsVersion="0x00020000"></uses-feature>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme"
android:hasCode="true"
android:name="com.sample.teapot.TeapotApplication"
>

<!-- Our activity is the built-in NativeActivity framework class.
This will take care of integrating with our NDK code. -->
<activity android:name="com.sample.teapot.TeapotNativeActivity"
android:label="@string/app_name"
android:configChanges="orientation|keyboardHidden">
<!-- Tell NativeActivity the name of or .so -->
<meta-data android:name="android.app.lib_name"
android:value="TeapotNativeActivity" />
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

<activity android:name="com.littleworlds.ase.ASE_GUIActivity"
android:theme="@android:style/Theme.Translucent"
android:screenOrientation="landscape"
android:configChanges="keyboard|keyboardHidden|orientation"/>

</application>
</manifest>

最佳答案

据我所知,您不能在 Activity 中实例化 Activity 。您只能使用 Intent 机制,在这种情况下,您将只能同时运行一个 Activity 。您的设计选择似乎不适合 Android 环境。

您为什么不尝试从 native 端启动您提到的 SDK Activity ?例如,如果您想在用户单击按钮时启动 Facebook 登录屏幕,请在 native Activity 中获取必要的输入,然后使用 JNI 调用和 Intent 机制启动 Facebook Activity 。

关于android - 是否有可能在 NativeActivity 上有一个 Activity 并仍然在 NativeActivity 中获取输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19833799/

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