zoukankan      html  css  js  c++  java
  • Android 跨应用调用Activity


    http://blog.csdn.net/ouyangliping/article/details/7972141

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


    调用方法:

    [java] view plain copy
    1. <pre name="code" class="java"><pre name="code" class="java">Intent intent=new Intent("youActionName");  
    2. intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);   
    3. intent.addCategory(Intent.CATEGORY_DEFAULT);  
    4. intent.putExtra("type",inType);  //if needed  
    5. ComponentName cn=new ComponentName("applicationPackageName","packagename+classname");  
    6. intent.setComponent(cn);  
    7. startActivity(intent);  </pre>  
    8. <pre></pre>  
    9. <pre></pre>  
    10. </pre>  

    在被调用的App里面需要定义 class (activity 或 service)属性和filter。需要明确的几点
    1. 如果不是action.Main,则需要主动申明android:exported="true",允许外部访问(调用非主Activity注意这个)
    2. action name 要一致
    3. category name要一致,如果调用的地方没有明确声明,被调用的地方要声明DEFAULT
    [java] view plain copy
    1. <activity android:name=".pbap.BluetoothPbapLuancherActivity"   
    2.             android:label="Bluetooth"  
    3.             android:exported="true"  
    4.             android:process="@string/process">  
    5.     <intent-filter>                                 
    6.         <action android:name="android.intent.action.MAIN" />  
    7.         <category android:name="android.intent.category.DEFAULT" />   
    8.     </intent-filter>  
    9. </activity>  
  • 相关阅读:
    修饰符组合
    嵌入式C摘录
    c语言记事 关于extern和static
    iphone 设置iTunes共享目录
    MapKit 相关
    关于viewDidLoad在[super init]之前执行的问题
    UIScrollView相关
    ASIHttpRequest 学习
    iPhone Locate定位
    UTF7 编码转换
  • 原文地址:https://www.cnblogs.com/nafio/p/9137402.html
Copyright © 2011-2022 走看看