当前位置: 代码迷 >> Android >> Android 跨使用调用Activity
  详细解决方案

Android 跨使用调用Activity

热度:16   发布时间:2016-05-01 14:44:22.0
Android 跨应用调用Activity

如何调用另外一个app应用的activity或者service,本文提供一个验证可行的方法。

调用方法:

Intent intent=new Intent("youActionName");intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);	intent.addCategory(Intent.CATEGORY_DEFAULT);intent.putExtra("type",inType);  //if neededComponentName cn=new ComponentName("applicationPackageName","packagename+classname");intent.setComponent(cn);startActivity(intent);	

在被调用的App里面需要定义 class (activity 或 service)属性和filter。需要明确的几点
  1. 如果不是action.Main,则需要主动申明android:exported="true",允许外部访问
  2. action name 要一致
  3. category name要一致,如果调用的地方没有明确声明,被调用的地方要声明DEFAULT
<activity android:name=".pbap.BluetoothPbapLuancherActivity"         	android:label="Bluetooth"        	android:exported="true"        	android:process="@string/process">	<intent-filter>          								<action android:name="android.intent.action.MAIN" />		<category android:name="android.intent.category.DEFAULT" /> 	</intent-filter></activity>




  相关解决方案