1.已有一個B Application的apk(没有源码), 如何在開發A Application時,点击A中的一個图标就能进入B应用?
这样的话,B Application应提供什么接口才能嵌入,或者要加权限吗?什么权限?
谢谢!
------解决方案--------------------
方法一:
有B包,package的名字,以及主activity的名字,A包里面通过intent.setClassName(packageName, activityName).
StartActivity(intent)来启动。
方法二:
在B包的AndroidManifest.xml里面,定义intent-filter,
其中的action项,定义为action_view或者其他的。
例如:直接从sdk里面抓的
<activity class=".TitleEditor" android:label="@string/title_edit_title"
android:theme="@android:style/Theme.Dialog">
<intent-filter android:label="@string/resolve_title">
<action android:name="com.android.notepad.action.EDIT_TITLE" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.ALTERNATIVE" />
<category android:name="android.intent.category.SELECTED_ALTERNATIVE" />
<data android:mimeType="vnd.android.cursor.item/vnd.google.note" />
</intent-filter>
</activity>
在A包里面,通过intent.setAction(ACTION_VIEW),然后StartActivity(intent)来启动。
比较,前一种方法能启动具体的activity,并且不会有问题。
后一种是让系统查找,可以接受action的所有package,所以会列出所有能响应action的package,要谨慎使用。