• 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++编程连接mysql数据库?
    c#中转义符总结
    制作文件系统出错运行mkubimagemlc2
    面试中常考的C函数库中的字符串处理函数
    移动支付模式再添新军:指纹支付
    面试中常考的单链表处理
    选购冰箱勿被概念迷惑:并非功能越多越好
    地址转换
    JavaScriptGarden/
    配置非安装版的mysql 5.5
  • 原文地址:https://www.cnblogs.com/nafio/p/9137402.html
Copyright © 2020-2023  润新知