2012-12-31 93 views
0

在switch語句中的MainActivity類中,我聲明並初始化了一個Intent以開始另一個活動。下面是摘錄:啓動Android活動時出錯

case MESSAGE_DEVICE_NAME: 
       //save connected device name 
       mConnectedDeviceName = msg.getData().getString(DEVICE_NAME); 
       Toast.makeText(getApplicationContext(), "Connected to "+mConnectedDeviceName, Toast.LENGTH_SHORT).show(); 
       Intent medPlay = new Intent(MainActivity.this, MediaPlayer.class); 
       startActivity(medPlay); 
       break; 

這裏是MediaPlayer的類:

public class MediaPlayer extends Activity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.media_player); 
    } 
} 

這裏是AndroidManifest.xml中:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.example.bt" 
android:versionCode="1" 
android:versionName="1.0" > 
<uses-permission android:name="android.permission.BLUETOOTH" /> 
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> 
<uses-sdk 
    android:minSdkVersion="6" 
    android:targetSdkVersion="10" /> 
<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name="com.example.bt.MainActivity" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity 
     android:name=".DeviceListActivity" 
     android:configChanges="orientation|keyboardHidden" 
     android:label="@string/select_device" 
     android:theme="@android:style/Theme.Light" /> 
    <activity 
     android:name=".MediaPlayer" 
     android:configChanges="orientation|keyboardHidden" 
     android:label="@string/media_player" 
     android:theme="@android:style/Theme.Light" /> 
</application> 
</manifest> 

但是我一直在logcat的控制檯收到此錯誤:

12-31 12:39:52.475:E/AndroidRunti我(25978):致命例外:main 12-31 12:39:52.475:E/AndroidRuntime(25978): android.content.ActivityNotFoundException:無法找到顯式 活動類{com.example.bt/android.media 。媒體播放器};你有 在你的AndroidManifest.xml中聲明瞭這個活動嗎? E-AndroidRuntime(25978):at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1405) 12-31 12:39:52.475:E/AndroidRuntime(25978):12-31 12:39:52.475:E/AndroidRuntime在 android.app.Instrumentation.execStartActivity(Instrumentation.java:1379) 12-31 12:39:52.475:E/AndroidRuntime(25978):at android.app.Activity.startActivityForResult(Activity.java:2893)12 -31 12:39:52.475:E/AndroidRuntime(25978):at android.app.Activity.startActivity(Activity.java:3003)12-31 12:39:52.475:E/AndroidRuntime(25978):at com.example.bt.MainActivity $ 1.handleMessage(MainActivity.java:147) 12-31 12:39:52.475:E/AndroidRuntime(25978):at android.os.Handler.dispatchMessage(Handler.java:99)12-31 12:39:52.475:E/AndroidRuntime(25978):at android.os.Looper.loop(Looper.java:130)12- 31 12:39:52.475: E/AndroidRuntime(25978):at android.app.ActivityThread.main(ActivityThread.java:3806)12-31 12:39:52.475:E/AndroidRuntime(25978):at java.lang.reflect.Method.invokeNative(Native Method)12-31 12:39:52.475:E/AndroidRuntime(25978):at java.lang.reflect.Method.invoke(Method.java:507)12- 31 12:39:52.475: E/AndroidRuntime(25978):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:839) 12-31 12:39:52.475:E/AndroidRuntime (25978):在(本地方法)

(英文)

回答

1

更改啓動活動代碼:

Intent medPlay = new Intent(MainActivity.this, 
           com.example.bt.MediaPlayer.class); 
startActivity(medPlay); 

和AndroidManifest聲明MediaPlayer的爲爲:

<activity 
    android:name="com.example.bt.MediaPlayer" 
    android:configChanges="orientation|keyboardHidden" 
    android:label="@string/media_player" 
    android:theme="@android:style/Theme.Light" /> 

因爲在日誌消息:

android.content.ActivityNotFoundException:無法找到顯式的 活動類{com.example.bt/android.media。媒體播放器};你有 在你的AndroidManifest.xml中聲明瞭這個活動嗎?

系統正在試圖啓動默認MediaPlayer活動

+0

@prosper:是否有任何默認的MeduaPlayer活動。 BTW,新的一年。去享受它。 –

+0

@SahilMahajanMj:新年快樂Sahil :) –

+0

謝謝你! – user1909680

1

無法找到明確的活動類{com.example.bt/ android.media.MediaPlayer};

您已導入/指定了錯誤的MediaPlayer!

+0

優秀的漁獲。只需重命名您的活動或從導入中移除MediaPlayer即可。它應該工作。 –