3

私は非常に奇妙な問題を抱えており、私の人生では理解できません。ほぼ完成したアプリがあります。Android のさまざまなバージョンと、エミュレーターのさまざまな画面サイズ/密度でテストを開始しました。Android 3.1 および 3.2 (Honeycomb) に到達するまで、すべてが正常に機能していました。IllegalStateException: No Activityアプリが起動するたびに取得します。最初は自分のアプリだと思ったので、スタック トレースを調べましたが、アプリのメソッドやクラスについて言及されていませんでした。そのため、アプリでサポートされているすべての Android バージョンで試してみたところ、Honeycomb を除くすべてのバージョンで機能しました。私はハニカムをグーグルで検索し、IllegalStateException: No Activity何も見つかりませんでした。そこで、画面サイズを調べたところ、ハニカムのスキンは WXGA しかないことに気付きました。すべてのドローアブルをチェックしましたが、ldpi、mdpi、hdpi、および xhdpi に 1 つ使用しています。しかし、念のため、アプリが必要とするすべてのドローアブルをデフォルトのドローアブル フォルダーに入れても、同じ問題が発生しました。他のすべてのリソースに既定のフォルダーを使用しているので、それが原因ではないことがわかっています。次に、小さい画面サイズを試してみたところ、驚いたことにうまくいきました。そこで、Android 4.1 でテストし、1280x800 と 160 の密度を使用して WXGA を模倣しました。そして、それはうまくいきました。そのため、WXGA(1280x800 mdpi) と Honeycomb に固有です。コードをデバッグしてステップ実行したところ、実際に正常に実行されましたonCreate()onCreate()実際には2回通過したと思います。私はこれをオーバーライドonResume()していませんActivity. Google ランドでより多くの時間を過ごしましたが、私が経験していることに関連するものは何も見つかりません。念のため、ここに私のonCreate(). 誰かがこれに光を当てることができれば、私は永遠にあなたの借金になります.

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main_activity);

    mResources = getResources();
    mDialog = new ProgressDialog(this);

    mUrl = mResources.getString(R.string.rate_url);
    mEmailSubject = mResources.getString(R.string.email_subject);
    mChoose = mResources.getString(R.string.email_choose);
    mSendTo = mResources.getString(R.string.email_send_to);
    mLoadingPlaces = mResources.getString(R.string.places_loading);
    mAmazonAppStore = mResources.getString(R.string.amazon_app);

    mButton1 = (Button) findViewById(R.id.tip_btn);
    mButton2 = (Button) findViewById(R.id.preference);
    mButton3 = (Button) findViewById(R.id.rate_btn);
    mButton4 = (Button) findViewById(R.id.feedback_btn);

    // Load the font and the set the font for each Button.
    Typeface tf = Typeface.createFromAsset(getAssets(),"fonts/ArchitectsDaughter.ttf");

    mButton1.setTypeface(tf);
    mButton2.setTypeface(tf);
    mButton3.setTypeface(tf);
    mButton4.setTypeface(tf);
}
4

1 に答える 1

1

好奇心から、戻ってもう一度試してみました。インストールして何度も開いて、いつでも機能するかどうかを確認しました。そして驚いたことに、それは毎回うまくいきました!!!!! アンインストールしてから再インストールして、数分間遊んでみました。以前にハニカムでテストしたことがあり、過去に機能していたことを知っているので、奇妙でした。エミュレーターの単なる不具合なのかどうかはわかりませんが、今は問題ないようです。この構成のデバイスでテストできるといいのですが。したがって、これを引き起こしている可能性があることについて誰かがアイデアや提案を持っている場合は、私はすべてを調べて確認したいと思います.

于 2012-09-12T04:14:14.117 に答える