标签:
本篇主要是看完郭霖大神在微信里的一篇文章后的实验
讲的是从网页的连接打开自己的应用,想着用手机搭建一个服务器,使用 KSWEB开源服务器 ,无奈没有成功。
1. 用apk启动另一个apk:(两个单独的应用)
代码主要需要要启动的应用的完整包名和完整类名,通过发送Intent传递消息
// 由一个应用启动另一个应用 需要 package名称跟class名称
Intent mIntent = new Intent( );
mIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
ComponentName comp = new ComponentName("com.cl.slack.deeplinks", "com.cl.slack.deeplinks.MainActivity");
mIntent.setComponent(comp);
mIntent.setAction("android.intent.action.VIEW");
startActivity(mIntent);
finish();2. 对自己也是醉了,最后居然是使用tomcat搭建了一个局域网服务器,然后虚拟机打开局域网地址,哈哈,但是我也是实现了大神的功能,在网页里打开自己的app
网页端就一句话
<a href="com.slack.androidtest://buydress">deep link</a>manifest文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.addre.com.deeplinks" >
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme" >
<activity android:name=".MainActivity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
// deep links
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="com.slack.androidtest" />
</intent-filter>
</activity>
<activity android:name=".BuyActivity" >
</activity>
</application>
</manifest>
默认启动的activity:
/** deep links
* 参考郭霖微信文章:http://mp.weixin.qq.com/s?__biz=MzA5MzI3NjE2MA==&mid=2650235870&idx=1&sn=8499e45b52199e739d73ba7d2db2c21b&scene=0#wechat_redirect
* create by chenling 2016-05-10
* */
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent = getIntent();
if (intent != null) {
Uri uri = intent.getData();
if(uri != null){
// uri com.slack.androidtest://buydress
Log.i("slack",uri.toString());
String host = uri.getHost();
Log.i("slack",host);
if ("buydress".equals(host)) {
// 跳转到卖裙子界面
startActivity(new Intent(this,BuyActivity.class));
}
}
}
}
}
感谢郭霖大神标签:
原文地址:http://blog.csdn.net/i_do_can/article/details/51363455