80,349
社区成员
发帖
与我相关
我的任务
分享
<!-- scheme open app -->
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="网页里约定好的"/>
</intent-filter>
同时还要在activity onCreate的时候加上判断
Intent i_getvalue = getIntent();
String action = i_getvalue.getAction();
if (Intent.ACTION_VIEW.equals(action)) {
Uri uri = i_getvalue.getData();
if (uri != null) {
Constants.SCHEME = true;
scheme = true;
String 参数1= uri.getQueryParameter("参数1");
String 参数2= uri.getQueryParameter("参数2");
String 参数3 = uri.getQueryParameter("参数3");
}
}
可以用这种方式来接收网页传过来的参数. 具体可以搜索一下android:scheme 的用法.
j今天试了下,我的App启动是这样的,先有一个welcomeactivity,然后startActivity,后面才是mainActivity,我在welcome那里设置为singleTask,后面的都为singletop,情况下,就不会在浏览器里面启动了,但是有一个情况,就是我会从网页那里获取信息,通过隐式intent,获取到之后进入指定页面,在指定页面返回的时候,mainActivity这里貌似重启了,,我再看看问题再哪, 经测试,淘宝也没有解决
j今天试了下,我的App启动是这样的,先有一个welcomeactivity,然后startActivity,后面才是mainActivity,我在welcome那里设置为singleTask,后面的都为singletop,情况下,就不会在浏览器里面启动了,但是有一个情况,就是我会从网页那里获取信息,通过隐式intent,获取到之后进入指定页面,在指定页面返回的时候,mainActivity这里貌似重启了,,我再看看问题再哪, 经测试,淘宝也没有解决
经测试,淘宝也没有解决
if((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0){ finish(); return; } 再启动的activity里面的oncreate方法写上这一句。
网页通过js回调启动APP可以否
我试了一下,不行了,网页好像是另外一个进程,启动了两个一样的app
或许可以创建个LoadActivity .然后用SharedPreferences记录一个状态,然后用SharedPreferences里面的值进行判断,然后进行跳转。
再启动之前可以先判断一下啊 getInstance(getActivity())想要启动的app的mainactivity是否为空啊 如果为空就启动一个新的app 如果不为空 就跳转过去