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("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.email/com.android.email.activity.setup.AccountSetupBasics} が見つかりません。AndroidManifest.xml でこのアクティビティを宣言しましたか?

私はこれに慣れていません。このエラーを解決する方法を教えてくれる人はいますか?

どんな反応でも大歓迎です。

4

2 に答える 2

1

エクスポートされている場合にのみ、他のアクティビティを開始できます。かどうかを確認しcom.android.email.activity.setup.AccountSetupBasicsます。そして、より多くの理由で例外をスローする可能性があるため、常に行う必要があります。キャッチされないままにしておくと、アプリがクラッシュtry/catchしますstartActivity()

于 2013-04-09T08:39:15.150 に答える
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);
        }
    });
于 2013-04-09T08:39:23.627 に答える