2016-03-22 8 views
-2

私は多くを検索しましたが、私は答えを見つけることができません。システムアプリ(ギャラリーアプリ)の場合、アクティビティ名を呼び出すにはどうすればいいですか

問題

私のアプリは、ギャラリーアプリケーション(すなわちデフォルトのギャラリーアプリ)とその作品の罰金によって共有されている画像上で動作します。私は、戻るボタンが押されているかどうかをチェックするためにOnBackPress()メソッドをオーバーライドしたいと思います。バックボタンが押されたら、単にアクティビティ名を呼び出したいと思って、そのアクティビティを終了して家に帰りたいです。

私は別のアクティビティフォームを自分のアクティビティと呼んでいますが、システムアプリケーションの場合はどのように呼び出しアクティビティ名を取得できるのですか?

ギャラリーアプリから画像を共有するときにアプリが呼び出されるので、基本的にはギャラリーアクティビティを削除して帰宅することができます。 私はギャラリーアプリに戻っていません。

私は単に家に帰って、ギャラリーアプリに戻る代わりにそのギャラリーアプリを殺したいと思っています。ここ

OnBackPressed()メソッド

@Override 
public void onBackPressed() { 
    // do something on back. 

    // what i tried so far but it is not working 
    this.getParent().finish(); 
    this.finish(); 
} 

はこれとうまくいけば、私は無事に帰って行くが、まだバックグラウンドでのギャラリーアプリを実行することができ、私は疲れています。私もアプリを呼び出し殺すしたい。

たぶん
public void onBackPressed() { 
    moveTaskToBack(true); 
} 
+0

あなたが持っているもの試した?機能性などに基づいてここで調理されたコードを取得することはありません。 – Ritesh

+0

BackStackがこれまでに聞いたことがありますか?あなたは、それを使用することができますまたは単純なグーグル検索 "すべての活動をアンドロイドで完了するだけでうまくいくでしょう。 – Ritesh

+0

ホームアクティビティ 'SingleInstance'を作成し、' onBackPressed() 'の' Intent'でもう一度呼び出す – MKJParekh

答えて

0

このような何か:

this.getParent().finish(); 
this.finish(); 

これはあなたがこの明示的なアクティビティを開く前に、あなたの意図にフィルタを追加しようとすることができます動作しない場合:

intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY); 
+0

これはNullPointerExceptionエラーを出します。私は活動を呼び出すことをやめたいと思っています。私の場合、活動を呼び出すことはシステムギャラリーのアプリケーションです –

+0

私はあなたの助けに感謝します。ギャラリーから画像を選択し、共有オプションから自分のアプリを選択すると起動します。だから、私は何の意図も全く始まらない。あなたが理解して欲しいですか? –

+0

どのようにギャラリーを開いていますか? –

関連する問題