0

所以我有一个应用程序,它的默认包为com.android.

在这个包中,我有两个包,分别是android.audioandroid.video

现在我需要activity1从in打电话android.audioactivity2android.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

Check your package name.

I think you gave only "audi" instead of "audio"

于 2012-04-13T18:16:44.413 回答
0

I rewrote my entire package structure by giving project package name as com.android and rest of the sub packages as com.android.audio and com.android.video and now it seems to work. thanks for all your help.

于 2012-04-13T19:15:25.293 回答