家猫OR野猫 2013-10-17
当在项目中出现下列情形:
应用开发商想对手机注册用户发短信进行召回操作;开发商就会对此类手机用户进行群发短信操作。用户在收到此类短信后会点击短信中的链接,此时,将会利用手机自带浏览器进行链接访问。继而进行应用打开或访问市场APP操作。
在实现这个功能过程中,技术上需要实现的是:
1.在目标应用上,我们应该写下类似这样的过滤器:
<activity android:name=".login.Splash" android:label="@string/app_name" android:screenOrientation="portrait" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.LAUNCHER" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:pathPattern=".*" android:scheme="meiliyue" /> </intent-filter> </activity>
上述关键的是第二个intent-filter,描述了Intent的条件。
2.在短信内容中的链接网页打开后,页面中按钮点击关联的链接地址应该类似:
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <a href="meiliyue://my.a/play?a=b">打开美丽约</a><br/> </body> </html>
其中重要的应该是这句话:
<a href="meiliyue://my.a/play?a=b">打开美丽约</a>
目标应用应该就可以通过短信内容中的链接进行打开了。