您的位置:首页 > 移动开发 > Android开发

Android 跨应用调用Activity

2016-03-22 11:42 369 查看
http://blog.csdn.net/ouyangliping/article/details/7972141

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

调用方法:

[java] view
plain copy

<pre name="code" class="java"><pre name="code" class="java">Intent intent=new Intent("youActionName");

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

intent.addCategory(Intent.CATEGORY_DEFAULT);

intent.putExtra("type",inType); //if needed

ComponentName cn=new ComponentName("applicationPackageName","packagename+classname");

intent.setComponent(cn);

startActivity(intent); </pre>

<pre></pre>

<pre></pre>

</pre>

在被调用的App里面需要定义 class (activity 或 service)属性和filter。需要明确的几点

如果不是action.Main,则需要主动申明android:exported="true",允许外部访问(调用非主Activity注意这个)
action name 要一致
category name要一致,如果调用的地方没有明确声明,被调用的地方要声明DEFAULT

[java] view
plain copy

<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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: