2013-04-09 85 views
0

我试图开始一个活动,从我的主要活动设置电子邮件帐户。它不工作,让我疯狂。我所拥有的是:我得到ActivityNotFoundException错误,当我试图启动一个新的活动在android

button.setOnClickListener(new View.OnClickListener() 
    { 
     public void onClick(View v) 
     { 
      EditText username = (EditText) findViewById(R.id.editText1); 
      EditText password = (EditText) findViewById(R.id.editText2); 

      ComponentName cname = new ComponentName("com.android.email", 
      "com.android.email.activity.setup.AccountSetupBasics"); 
      Intent intent = new Intent("android.intent.action.MAIN"); 
      intent.putExtra("com.android.email.AccountSetupBasics.username", username.getText().toString()); 
      intent.putExtra("com.android.email.AccountSetupBasics.password", password.getText().toString()); 
      intent.putExtra("com.android.email.extra.eas_flow", true); 
      intent.setComponent(cname); 
      intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
      context.startActivity(intent); 
     } 
    }); 

清单是:

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name="com.example.test.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> 
</application> 

,我总是得到这样的错误:

android.content.ActivityNotFoundException:无法找到明确的活动类{com.android。电子邮件/ com.android.email.activity.setup.AccountSetupBasics};你有没有在你的AndroidManifest.xml中声明这个活动?

我对此很陌生,谁能告诉我如何解决这个错误?

任何回应非常感谢。

+0

是否有安装在您的设备名为com.android.email一个包,并宣布AccountSetupBasics活动在其清单中? – etienne 2013-04-09 08:38:44

+0

thx为您的答复,但我在eclipse的AVD上运行这个,我如何检查这个软件包是否安装? – Harlan 2013-04-09 08:59:37

回答

1

只有在导出其他活动时才能启动其他活动。检查com.android.email.activity.setup.AccountSetupBasics是否。你应该总是做try/catchstartActivity()可以抛出异常的更多的理由,如果你让它去未捕获,您的应用程序会崩溃

+0

我应该导入一些包含com.android.email.activity.setup.AccountSetupBasics的jar文件吗?我无法在我的项目 – Harlan 2013-04-09 09:01:59

+0

下找到这个。没有“一些瓶子”来解决你所有的问题。如果活动没有出口,那么你对此无能为力。 – 2013-04-09 09:05:09

+0

你能澄清更多关于活动没有出口? – Harlan 2013-04-09 09:34:23

0
button.setOnClickListener(new View.OnClickListener() 
    { 
     public void onClick(View v) 
     { 
      EditText username = (EditText) findViewById(R.id.editText1); 
      EditText password = (EditText) findViewById(R.id.editText2); 

      ComponentName cname = new ComponentName("com.android.email", 
      "com.android.email.activity.setup.AccountSetupBasics"); 
      Intent intent = new Intent(currentActivity.this, targetActvity.class); 
      intent.putExtra("com.android.email.AccountSetupBasics.username", username.getText().toString()); 
      intent.putExtra("com.android.email.AccountSetupBasics.password", password.getText().toString()); 
      intent.putExtra("com.android.email.extra.eas_flow", true); 
      intent.setComponent(cname); 
      intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
      context.startActivity(intent); 
     } 
    }); 
+0

targetActvity是AccountSetupBasics,但是项目无法解决这个问题,你能告诉我需要导入哪个jar文件吗? – Harlan 2013-04-09 09:03:09

+0

如果目标Activity确实在同一个包中,这个答案就可以工作。在这里似乎不是这种情况! – etienne 2013-04-09 09:20:24

相关问题