私のアプリのナビゲーションドロワーに共有オプションがあります。クリックすると、「インテントを共有する」というそれぞれのインテントに進むことができます。問題は、whatsappから戻るボタンを押すと、私のアプリが黒い画面を表示してハングします。もう一度押すと何も起こらず、最終的にアプリを強制終了する必要があります。コーディネーターのレイアウトを使用しています。以下のコードスニペットです:外部アプリからのバックプレスで画面のブラックアウトでアプリケーションがハングアップする
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
sideMenu = (ListView) findViewById(R.id.left_drawer);
mSideMenuListAdapter = new SideMenuListAdapter(this, mDrawerLayout);
sideMenu.setAdapter(mSideMenuListAdapter);
アダプターコード:
holder.share.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mDrawerLayout.closeDrawer(GravityCompat.START);
Intent share = new Intent();
share.setAction(Intent.ACTION_SEND);
share.setType("text/plain");
share.putExtra(Intent.EXTRA_SUBJECT, "XXX");
share.putExtra(Intent.EXTRA_TEXT, "****"));
share.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
Intent.FLAG_ACTIVITY_CLEAR_TOP);
mContext.startActivity(Intent.createChooser(share, "Share link!"));
}
});
異なるIntent.Flagを使用してさまざまなオプションを試しましたが、何も働いているように見えません。お知らせ下さい。
編集: 次のように、OnCreateメソッドが必要です。全体のメソッドは非常に大きなものを初期化するので、ちょうど開始コードを持っています。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.home_screen_new);
私は通常の方法を入れていています
@Override
public void startActivityForResult(Intent intent, int requestCode) {
super.startActivityForResult(intent, requestCode);
}
@Override
protected void onResume() {
super.onResume();
}
@Override
protected void onRestart() {
super.onRestart();
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
}
ポスト/フラグメント –
あなたの活動にあなたのonCreate/onPause/onResumeメソッドは、あなたのonResume()コード –
@OmarHossamをご確認ください。ありがとう – Gaurav