Intent未传递给AppCompactActivity

时间:2015-11-03 13:49:13

标签: 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;
        }
    }
}

现在我在做什么,当每个动作都等于'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.

这是我的活动类

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 = (Toolbar) findViewById(R.id.toolbar);
            setSupportActionBar(toolbar);

setSupportActionBar不适用于ActivityClass。

1 个答案:

答案 0 :(得分:1)

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