-2

我是 Android 的 Java 编程新手。这是我用来开发应用程序的第一种语言。该应用程序是关于使用 Google Maps API。它应该选择从 A 到 B 的位置,以此类推,就像某种寻宝游戏一样。我现在正试图整理菜单,然后发生这种情况。我只有这些 xml 文件:Menu、Pentagram 和 ofc The Manifest (Mysterygame Manifest),以及 java 文件:Menu 和 Pentagram。

目前我试图在菜单屏幕上用两个单独的按钮实现一个谷歌地图地图 - 但是当我用谷歌等的密钥对整个进行排序时,这发生了。

这是Logcat:

09-24 22:32:54.850: E/AndroidRuntime(11739): FATAL EXCEPTION: Thread-576
09-24 22:32:54.850: E/AndroidRuntime(11739): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.mysterygame.au.Menu }
09-24 22:32:54.850: E/AndroidRuntime(11739): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1622)
09-24 22:32:54.850: E/AndroidRuntime(11739): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1417)
09-24 22:32:54.850: E/AndroidRuntime(11739): at android.app.Activity.startActivityForResult(Activity.java:3370)
09-24 22:32:54.850: E/AndroidRuntime(11739): at android.app.Activity.startActivityForResult(Activity.java:3331)
09-24 22:32:54.850: E/AndroidRuntime(11739): at android.app.Activity.startActivity(Activity.java:3566)
09-24 22:32:54.850: E/AndroidRuntime(11739): at android.app.Activity.startActivity(Activity.java:3534)
09-24 22:32:54.850: E/AndroidRuntime(11739): at com.mysterygame.au.Pentagram$1.run(Pentagram.java:29)

清单中的两个活动菜单和五角星:

// Intro Screen with the picture Pentagram
<activity
android:name="Pentagram"
android:label="@string/app_name" >
  <intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
  </intent-filter>
</activity>

// Menu
<activity
android:name="Menu"
android:label="@string/app_name" >
  <intent-filter>
    <action android:name="com.mysterygame.au.MENU" />
    <category android:name="android.intent.category.DEFAULT" />
  </intent-filter>
</activity>

两个 Java 类: // 菜单

public class Menu extends Activity {
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.menu); } }

  public boolean onCreateOptionsMenu(android.view.Menu menu) {
    getMenuInflater().inflate(R.menu.starting_point, menu);
    return true; } }

//Pentagram
public class Pentagram extends Activity {
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.pentagram);
    Thread timer = new Thread() {
      public void run() {
        try { sleep(5000); }
        catch (InterruptedException e) { e.printStackTrace(); }
        finally { 
          Intent openMenu = new Intent("com.mysterygame.au.Menu");
          startActivity(openMenu); } } };
    timer.start(); }
  protected void onPause() {
    super.onPause();
    finish(); } }

谢谢你的时间 - 干杯马特

4

2 回答 2

2

尝试这个

Intent is=new Intent(CurrentActivity.this, TargetActivity.class);
startActivity(is);
于 2013-09-24T21:06:53.117 回答
0

这是您的问题:

Intent openMenu = new Intent("com.mysterygame.au.Menu");
          startActivity(openMenu); } } };

它应该是:

Intent openMenu = new Intent(Pentagram.this, Menu.class);
startActivity(openMenu); } } };

当你使用Intent时,你需要像我上面那样插入类名,而不是你做的那样。您基本上包括您当前所在的活动,以及您想要开始的活动,这就是您使用的原因Pentagram.this(您所在的活动)和Menu.class您想要开始的活动。

祝你好运。

于 2013-09-24T20:55:43.410 回答