0

我有两个应用程序,A 和 B。
我想通过 A 调用B。
我在 A 中的代码如下:

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setComponent(new ComponentName("com.example.bapp","com.example.bapp.BActivity"));
intent.putExtra ("test2abc", "abctest2");
startActivity(intent);

B在清单中的意图过滤器如下:

<intent-filter>
    <action android:name="ACTION_BACKCALL" />
    <category android:name="android.intent.category.DEFAULT" />
</intent-filter>

但是它会在 B 已经打开时在启动 B 之前关闭 B。
我找到下面的代码来打开 *.txt 文件。这将同时打开两个 txt 阅读器应用程序。

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(file), mimetype);
startActivity(inte

nt);

我怎样才能到达那个?

4

2 回答 2

4

嘿,我找到了这个代码片段从 Android 上的另一个应用程序启动一个应用程序,这将适用于您设置您要启动的应用程序的地址

Intent LaunchIntent = getPackageManager().getLaunchIntentForPackage("com.package.address");
startActivity(LaunchIntent);
于 2013-01-10T06:26:32.183 回答
2

您可能想 在定义启动器活动时尝试android:launchMode="singleInstance"android:finishOnTaskLaunch="true" 。

   <activity
        android:name="com.example.test.sampleMediaPlayer"
        android:label="@string/app_name"
        android:launchMode="singleInstance"
        android:finishOnTaskLaunch="true" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

对于活动 A。

于 2013-01-10T13:05:29.413 回答