java - Intent 未传递给 AppCompatActivity

标签 java android cordova android-intent cordova-plugins

正在使用 Android 创建 CordovaPlugin。

但现在我面临一个问题,我需要有人来解决我。

这是我的java代码:-

public class MoverMusclePlugin extends CordovaPlugin
{
    @Override
    public boolean execute(String action,final JSONArray args,final CallbackContext callbackContext) throws JSONException
    {
        try
        {
            if(action.equals("set"))
            {
                cordova.getActivity().runOnUiThread(new Runnable() {
                    JSONObject obj = args.getJSONObject(0);
                    Context c = cordova.getActivity().getApplicationContext();
                    @Override
                    public void run() {
                        Intent in = new Intent(c,MoverMusclePage.class);
                        in.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                        cordova.getActivity().startActivity(in);
                        callbackContext.success();
                    }
                });
                return true;
            }
            else
            {
                callbackContext.error("Invalid Argument");
                return false;
            }
        }
        catch (Exception e)
        {
            callbackContext.error(e.getMessage());
            return false;
        }
    }
}

现在我在这里做的是,当每个 Action 都等于“set”时,使用 Intent 调用 Activity 页面。

但是我收到错误消息:-

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.pixelmagnus.moveCheck/com.pixelmagnus.moveCheck.MoverMusclePage}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.

这是我的 Activity 课

public class MoverMusclePage extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_mover_muscle_page);
    }
}

请让我知道这里做错了什么。

更新:- 根据给出的建议,我确实将 AppCompactActivity 类更改为 Activity。但是工具栏不起作用。

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
            setSupportActionBar(toolbar);

setSupportActionBar 不适用于 ActivityClass。

最佳答案

您需要为您的应用指定 AppCompat 主题。将 android:theme="@style/Theme.AppCompat.Light"(或另一个 AppCompat 主题)添加到 list 中的应用程序节点。

关于java - Intent 未传递给 AppCompatActivity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33500798/

相关文章:

jquery - Phonegap 跨平台应用获取外部数据

java - 如何以编程方式生成客户端身份验证证书

java - Android 登录屏幕无法正常工作

java - 如何使用 Java 使用 Selenium WebDriver 验证按钮是否被单击

android - 无法更改事件中的变量

安卓。数据库。删除所有非数字

android - Ionic Android 构建失败 : Unable to start the daemon process

javascript - 关于如何在phonegap中设置sqlite DB的说明

java - Java 中的文本分类

java - 从模型获取信息到 Servlet 再到 JSP 选项列表