相关疑难解决方法(0)

Android:为不同的第三方应用程序启动活动

我正在开发一个应用程序,我想将Last.fm应用程序集成到其中.基本上,当有人在我的应用程序中查看艺术家时,我想要一个按钮,他们可以点击以打开Last.fm应用程序和艺术家的信息.

这个意图有效,但它会加载一个菜单,询问我想使用哪个应用程序(Browser或Last.fm):

Intent i = new Intent();
i.setData(Uri.parse("http://last.fm/music/" + headliner));
i.setAction("android.intent.action.VIEW");
startActivity(i);
Run Code Online (Sandbox Code Playgroud)

但是,我只是想启动Last.fm应用程序并跳过询问使用哪个应用程序的对话框,我想可能使用setPackage()方法会像这样工作:

i.setPackage("fm.last.android");
Run Code Online (Sandbox Code Playgroud)

但它导致应用程序崩溃:

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=http://last.fm/music/Rihanna pkg=fm.last.android }
Run Code Online (Sandbox Code Playgroud)

是否可以启动Last.fm应用程序?是Last.fm的AndroidManifest.xml的副本供参考.

谢谢你的阅读,托尼

android android-intent

7
推荐指数
1
解决办法
1万
查看次数

从另一个包启动活动

我有这个清单:

<manifest ...
    package="com.my">

    <application ...>

        <activity ...
            android:name=".app.Run">
            <intent-filter >
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    <activity ...
    android:name=".app.Preferences"/>

    <activity ...
    android:name=".library.error.ErrorDialog"/>

    </application>

</manifest>
Run Code Online (Sandbox Code Playgroud)

如何ErrorDialogRun活动开始活动?

Intent intent = new Intent();
intent.setComponent(new ComponentName("com.my.library.error", "com.my.library.error.ErrorDialog"));
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

要么

Intent intent = new Intent();
intent.setComponent(new ComponentName("library.error", "library.error.ErrorDialog"));
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

不工作


MEA CULPA ...... MEA CULPA ......

我的ErrorDialog活动不公开.:d

android packages android-intent android-activity

6
推荐指数
2
解决办法
1万
查看次数

将数据从一个应用程序传递到另一个应用程序

我有2个Android应用程序:

app1 - Activity11 --> Activity12 --> Activity13

app2 - Activity21 --> Activity22 --> Activity23
Run Code Online (Sandbox Code Playgroud)

我想从一个应用程序传递到另一个应用程序的第二个活动,传递一些数据.

app1 - Activity11 -->(switch to app2)--> Activity22 --> Activity23
Run Code Online (Sandbox Code Playgroud)

我要遵循哪些步骤?你知道一些教程吗?

我现在还没有编写代码,因为我不知道从哪里开始.

提前致谢.

android android-intent

5
推荐指数
1
解决办法
7740
查看次数