1

アプリから Pandora などの別のインストール済みアプリを開きたいです。

コードは次のとおりです。

Intent LaunchIntent = getPackageManager().getLaunchIntentForPackage("Pandora");
    startActivity(LaunchIntent);

上記は私のコードをクラッシュさせます。誰かがコード修正を提供できますか?

前もって感謝します。

4

4 に答える 4

0

あなたはただインテントを起動し、パスにあるファイルを開いて表示するアプリケーションが欲しいとOSに言います。Androidはあなたに適したアプリケーションを選択します(またはユーザーに利用可能なアプリの1つを選択するように依頼します)

于 2012-10-06T16:34:27.197 に答える
0
File yourApk= new File("/sdcard/.../pandora.apk");
Intent i = new Intent();
i.setAction(android.content.Intent.ACTION_VIEW);
i.setDataAndType(Uri.fromFile(yourApk), "application/vnd.android.package-archive");
startActivity(i);

パーミッション:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.INSTALL_PACKAGES"/>
<uses-permission android:name="android.permission.RESTART_PACKAGES"/>
于 2012-10-06T16:54:41.843 に答える
0

PDFビューアを開こうとしていると思います。必要なのは、apk へのパスではなく、開きたい PDF ファイルへのパスです。Android システムは、インテントで指定された引数に対してどのアプリケーションを呼び出すかを自動的に判断します。

于 2012-10-06T16:36:39.410 に答える
0

あなたがしたいことは、パケット名でアプリケーションを呼び出すことだと思います(それを理解する必要がありますが、それは簡単なはずです)

PackageManager pm = getPackageManager();
try {
String packageName = "com.example.package";
Intent launchIntent = pm.getLaunchIntentForPackage(packageName);
startActivity(launchIntent);
}
catch (Exception e1){}

インストールされている場合は、他のアプリケーションが開きます。

于 2012-10-06T16:45:53.977 に答える