0

switch ステートメント内の MainActivity クラスで、別のアクティビティを開始するために Intent を宣言して初期化しました。スニペットは次のとおりです。

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/AndroidRuntime(25978): 致命的な例外: メイン 12-31 12:39:52.475: E/AndroidRuntime(25978): android.content.ActivityNotFoundException: 明示的なアクティビティ クラスが見つかりません {com .example.bt/android.media.MediaPlayer}; AndroidManifest.xml でこのアクティビティを宣言しましたか? 12-31 12:39:52.475: E/AndroidRuntime(25978): android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1405) で 12-31 12:39:52.475: E/AndroidRuntime(25978): Android で。 app.Instrumentation.execStartActivity(Instrumentation.java:1379) 12-31 12:39:52.475: E/AndroidRuntime(25978): android.app.Activity.startActivityForResult(Activity.java:2893) 12-31 12:39: 52.475: E/AndroidRuntime(25978): android.app.Activity.startActivity(Activity.java:3003) 12-31 12:39:52.475: E/AndroidRuntime(25978): com.

4

2 に答える 2

1

開始アクティビティコードを次のように変更します。

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

そして、MediaPlayerをAndroidManifestのように次のように宣言します。

<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.MediaPlayer}; AndroidManifest.xmlでこのアクティビティを宣言しましたか?

システムがデフォルトのMediaPlayerアクティビティを開始しようとしています

于 2012-12-31T12:56:11.207 に答える
1

明示的なアクティビティクラスが見つかりません{com.example.bt/android.media.MediaPlayer } ;

間違ったMediaPlayerをインポート/指定しました!

于 2012-12-31T12:57:19.403 に答える