アプリケーションの基礎となるアクティビティが1つあります。ここに問題があります。
- と呼ばれるアクティビティインスタンスを作成します
Instance1
。 - その後、ホームメニューに戻ると、アクティビティがバックグラウンドに送信されます。
onPause
とonStop
呼ばれInstance1
ます。 Gmail
次に、メールの添付ファイルに移動して開きます。- これにより、アクティビティ'Instance2`の新しいインスタンスが作成されます(インスタンスが何であるかをログに記録するため、これを知っています)。私の活動の中で今していることはすべて、この新しいインスタンスの中にあります。
- 次に、Gmailに移動すると、
onDestroy
が呼び出されます。Instance2
アイコンをタッチしてアプリケーションを開くと、元のアプリケーションInstance1
onRestart
が呼び出されます。
これが私の内部のインテントフィルターですmanifest.xml
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="*/*" />
<data android:pathPattern=".*\\.dog" />
</intent-filter>
マニフェストファイルのApplicationsタグにも以下を追加しましたが、効果がありません。
android:launchMode="singleTask"
質問
インスタンスが実行されていることに気づかず、それを開くことができないのはなぜですか?
添加
singleInstanceを使用して、Activityタグに移動しました。しかし、今ではメールの添付ファイルデータを取得できませんか?以前は以下を使用していました。
Intent intent = getIntent();
if (intent != null) {
Log.d("MainActivity","Intent not null");
Uri u = intent.getData();
if (u != null) {
Log.d("MainActivity","URI not null");