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
- android中实现一个APP启动另一个APP并实现类似微信分享
- Android中一个APP启动另一个APP并传递参数
- android 实现一个app启动另一个app的service服务
- Android在一个APP中启动另一个APP
- Android中一个app启动另一个app的指定activity
- Android中一个app启动另一个app的指定activity
- Android中一个app启动另一个app的指定activity
- Android中一个app启动另一个app的指定activity
- android 从微信分享的网页中启动APP
- android实现app启动另一个app的service
- 在App中启动另一个App的实现方式
- Android 一个app启动另一个app
- Android 一个app启动另一个app
- Android 一个app启动另一个app
- Android 一个app启动另一个app
- Android 一个app启动另一个app
- Android 一个app启动另一个app
- android 一个app 启动另一个app
- 【英语总结】八月
- [CDOJ 838]母仪天下 【线段树手速练习 15分钟内敲完算合格】
- 勾股定理一日一证连载79
- tomcat中Servlet的工作机制
- 详解二叉查找树算法的实现
- android中实现一个APP启动另一个APP并实现类似微信分享
- BZOJ3387: [Usaco2004 Dec]Fence Obstacle Course栅栏行动
- 2016年8月22号
- iOS自定义视频录制界面
- 面试题:给定一个字符串,问是否能通过添加一个字母将其变为回文串
- 隐式代码举例
- #182 Delete Digits
- angular-cli for webpack and scss
- 生成二维码