没有方法从其他应用程序

时间:2016-06-02 10:38:37

标签: android android-intent

我的应用程序中有共享按钮,按下它可以正常工作。但是在应用程序的背面按下(例如" Whatsapp"," gmail"等等)我的应用程序挂起黑屏。共享按钮位于导航抽屉布局中。我调试了代码,没有任何方法在其他应用程序的背压下被调用。

活动代码(不是完整的活动,而是一些相关的方法):

    public class HomeActivity extends Activity
            implements View.OnClickListener, AppBarLayout.OnOffsetChangedListener, GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener {

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, "***");
share.putExtra(Intent.EXTRA_TEXT, "***"));
share.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
              Intent.FLAG_ACTIVITY_CLEAR_TOP);
mContext.startActivity(Intent.createChooser(share, "Share link!"));
}
});

点击下面的分享按钮按顺序在我的活动中调用方法:

@Override
    public void startActivity(Intent intent) {
        super.startActivity(intent);
    }

@Override
    public void startActivityForResult(Intent intent, int requestCode) {
        super.startActivityForResult(intent, requestCode);
    }

 @Override
    protected void onPause() {
        super.onPause();
    }

@Override
    protected void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
    }

在Whatsapp上单击下面的方法称为

@Override
    protected void onStop() {
        super.onStop();
    }

现在当我按下whatsapp的后退按钮时,没有调用任何方法。只显示空白屏幕并且应用程序挂起。在调试模式下,我得到了我的屏幕布局(在按下whatsapp按钮之前),但屏幕完全无效。唯一的出路就是杀死应用程序。

我尝试了很多东西,但没有看到任何工作。请帮忙。

1 个答案:

答案 0 :(得分:0)

您未在resultCode方法

中查看onActivityResult

使用下面的代码,它将正常工作

if(resultCode==Activity.RESULT_OK){
//do your task here
}