PC からリモートで制御される産業用アプリがあります。アプリにはわずかに異なる 2 つのバージョンがあります。1 つは Honeycomb タブレット用で、もう 1 つは Gingerbread フォン用です。違いは、ハードウェアの独自の機能を利用することです (たとえば、携帯電話のカメラは優れており、タブレットはより大きなグラフィックスを表示できます) が、アクティビティ開始コードは同じです。
アプリ内のスレッドは、PC からコマンドを受け取り、さまざまな画面を表示します (つまり、さまざまなアクティビティを開始します)。電話では問題なく動作しますが、タブレットでは 1 つのアクティビティが開始されませんが、例外はスローされません。ブレークポイントとそのアクティビティのonResume()へのログインは、電話中であってもヒットすることはありません。アクティビティを開始しようとする方法は次のとおりです。. .
try {
Intent svc = new Intent(ctx, RemoteControlActivity.class);
ctx.startActivity(svc);
}
catch (Exception e) { // or ActivityNotFoundException e
Log.d("ShowButtons(normal)", "startActivity failed");
}
(ctx はコンテキストです - デバッガーでは、コンテキストは動作していないケースの両方で同じです)
タブレットで起動に失敗しているアクティビティは、マニフェストで次のように定義されています。. .
<activity
android:launchMode="singleTask"
android:label="@string/app_name"
android:windowNoTitle="false"
android:configChanges="orientation"
android:screenOrientation="landscape"
android:name="RemoteControlActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
これは私をバタバタさせています-助けてくれてありがとう!