android中实现一个APP启动另一个APP并实现类似微信分享

来源:互联网 发布:大学网络交友平台 编辑:程序博客网 时间:2024/05/16 19:01

        在android中有时候我们需要做一个APP启动另一个APP,或者是实现做到类似微信或者QQ一样让第三方应用分享内容到自己的APP,那么我们改如何实现呢?下面我们就通过代码来演示实现的方法

ShareActivity.java 第三方应用里面代码的构造public class ShareActivity extends AppCompatActivity implements View.OnClickListener {    private Button mShare;//分享信息内容到另一个APP    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_share);        initView();    }    //初始化View    private void initView() {        mShare = (Button) findViewById(R.id.btn_share);        mShare.setOnClickListener(this);    }    @Override    public void onClick(View v) {        switch (v.getId()) {            case R.id.btn_share:                sendShareMessage();                break;        }    }    //发送分享的信息    private void sendShareMessage() {        Intent intent = getPackageManager().getLaunchIntentForPackage("it.my.share");//主要用于判断用户是否安装了要分享过去的APP        if (intent != null) {            Intent share = new Intent();            //it.my.share被分享应用的包名,it.my.share.GetShareActivity被分享应用所对应的要分享的Activity            share.setClassName("it.my.share", "it.my.share.GetShareActivity");            share.putExtra("message", "我是第三方应用分享过来的信息");            startActivity(share);        } else {            Toast.makeText(getApplicationContext(), "你还没安装该应用,请先安装", Toast.LENGTH_LONG).show();        }    }}
GetShareActivity.java 接收第三方应用分享过来的内容的Activitypublic class GetShareActivity extends Activity {    private TextView mGetShare;//显示被分享过来的内容    private String mShareMessage;//获取分享过来的的信息    private Bundle mBundle;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_get_share);        mBundle = getIntent().getExtras();        if (mBundle != null) {            mShareMessage = mBundle.getString("message");        }        initView();    }    //初始化View    private void initView() {        mGetShare = (TextView) findViewById(R.id.tv_share);        showMessage(mShareMessage);    }    @Override    protected void onNewIntent(Intent intent) {        super.onNewIntent(intent);        mBundle = intent.getExtras();        if (mBundle != null) {            mShareMessage = mBundle.getString("message");            showMessage(mShareMessage);        }    }    //显示对应分享的信息    private void showMessage(String message){        if (message != null) {            mGetShare.setText(message);        } else {            mGetShare.setText("没有分享过来的内容,应用本身跳转过来的");        }    }}在AndroidManifest.xml里面也要配置  <activity android:name=".GetShareActivity"            android:launchMode="singleTask"            >            <intent-filter>                <category android:name="android.intent.category.DEFAULT" />                <action android:name="android.intent.action.SEND" />                <data android:mimeType="text/plain"/>            </intent-filter>        </activity>

附:源码下载地址

0 0
原创粉丝点击