0

だから私はデフォルトのパッケージを持つアプリケーションを持っていますcom.android.

このパッケージ内には、 と の 2 つのパッケージがandroid.audioありandroid.videoます。

今私はから呼び出す必要がactivity1ありandroid.audioます。activity2android.video

私は次のようなものを使用してみました

Intent i = new Intent();
i.setClassName("android.video","android.audio.activity1");
startActivity(i);

しかし、これはうまくいかないようです。それを行う正しい方法は何ですか?私はどこで間違ったのですか?パッケージ外のアクティビティに移動できません。

編集:これは、マニフェストで宣言されている方法です。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android"
android:versionCode="1"
android:versionName="1.0" >

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.RECORD_VIDEO" />
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

<uses-sdk android:minSdkVersion="8" />

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_title" >
    <activity
        android:label="@string/app_title"
        android:name=".WeaveActivity" >
        <intent-filter >
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <activity android:name="android.login.LoginActivity"></activity>
    <activity android:name="android.login.RegisterActivity"></activity>

    <activity android:name="android.video.activity2"></activity>

     <activity android:name="android.audio.activity1"></activity>

</application>

4

4 に答える 4

3
Intent i = new Intent();
i.setClassName(activity2.this,activity1.class);
startActivity(i);

上記のコードを使用して、これらのアクティビティをマニフェスト ファイルに追加します。あなたがあなたのパッケージ名がcom.androidであると言ったように

<activity android:name=".audio.activity1"></activity>
<activity android:name=".video.activity2"></activity>

または以下のように完全なパスを使用します

<activity android:name="com.android.audio.activity1"></activity>
<activity android:name="com.android.video.activity2"></activity>

また、パッケージ名を com.android として使用しないことをお勧めします。これを使用すると、アプリを Google Play に送信するときにパッケージ com.android が android SDK に使用されるため、受け入れられないためです。

于 2012-04-13T17:40:42.280 に答える
0
于 2012-04-13T17:52:03.150 に答える
0

パッケージ名を確認してください。

「オーディオ」の代わりに「オーディオ」だけを与えたと思います

于 2012-04-13T18:16:44.413 に答える
0

プロジェクトパッケージ名を as とし、残りのサブパッケージを as としてパッケージ構造全体を書き直しましたがcom.android、今ではうまくいくようです。ご助力いただきありがとうございます。com.android.audiocom.android.video

于 2012-04-13T19:15:25.293 に答える