ComponentName使用
2018-02-25 本文已影响0人
122604
ComponentName:可以启动其他应用的Activity、Service.
ComponentName chatActivity =new ComponentName(param1,param2);
param1:Activity、Service所在应用的包名
param2:Activity、Service的包名+类名
Activity:
ComponentName chatActivity =new ComponentName("com.npf.chat", "com.npf.chat.ui.ChatActivity");
Intent intent =new Intent();
intent.setComponent(chatActivity);
startActivity(intent);
Service:
ComponentName chatService =new ComponentName("com.npf.chat", "com.npf.chat.ui.ChatService");
Intent intent =new Intent();
intent.setComponent(chatService );
startService(intent);
注:
如果该Activity非应用入口(入口Activity默认android:exported="true"),则需要再清单文件中添加 android:exported="true"。Service也需要添加android:exported="true"。允许外部应用调用。
<activity android:name="com.npf.chat.ui.ChatActivity"
android:exported="true"/>
<service android:name="com.npf.chat.ui.ChatService"
android:exported="true"/>