当前位置: 代码迷 >> Android >> android应用程序内打开其余应用程序
  详细解决方案

android应用程序内打开其余应用程序

热度:51   发布时间:2016-05-01 20:40:43.0
android应用程序内打开其他应用程序

方法一:
java:
final PackageManager pm = getPackageManager();

Intent i = pm.getLaunchIntentForPackage("com.tvt.player");
//如果该程序不可启动(像系统自带的包,有很多是没有入口的)会返回NULL
if (i != null)
?startActivity(i);
AndroidManifest.xml:
//这种方式,被打开的程序launcher属性必须设置:
<activity android:label="@string/IDS_Icon_Text" android:name="com.tvt.p2pplayer.UiActivity" android:screenOrientation="portrait">
??????????? <intent-filter>
??????????????? <action android:name="android.intent.action.MAIN" />
??????????????? <action andro<category android:name="android.intent.category.LAUNCHER" />
??????????? </intent-filter>
??????? </activity>
即,程序安装后有应用图标


方法二:
AndroidManifest.xml:
<activity android:label="@string/IDS_Icon_Text" android:name="com.tvt.p2pplayer.UiActivity" android:screenOrientation="portrait">
??????????? <intent-filter>
??????????????? <action android:name="android.intent.action.MAIN" />
??????????????? <action android:name="com.test.action.PLAYER" />
??<category android:name="android.intent.category.DEFAULT" /><!--必须,否则无效-->
??????????????? <!--<category android:name="android.intent.category.LAUNCHER" />--><!--这样程序安装后无应用程序图标-->
??????????? </intent-filter>
??????? </activity>
java:
Intent intent = new Intent();
intent.setAction("com.test.action.PLAYER");?? //这里的com.test.action.PLAYER? 不需要与实际包、库、activity入口一致……???????????
startActivity(intent);

  相关解决方案