【问题标题】:launching an android applications from our own view从我们自己的角度启动一个 android 应用程序
【发布时间】:2011-08-10 10:42:16
【问题描述】:

大家好 我正在尝试在 android 中创建自定义主屏幕。 i,e 在轮播视图中。我能够在轮播视图中显示应用程序图标,但无法启动应用程序。我,例如单击特定应用程序图标时,我需要启动该应用程序,但出现错误(强制关闭)。这是我得到的错误日志

08-10 16:04:31.570: 错误/AndroidRuntime(1028): 致命异常: main 08-10 16:04:31.570: 错误/AndroidRuntime(1028): java.lang.ClassCastException: java.lang.Integer 08-10 16:04:31.570: 错误/AndroidRuntime(1028): 在 com.carouseldemo.main.MainActivity$1.onItemClick(MainActivity.java:75) 08-10 16:04:31.570: 错误/AndroidRuntime(1028): 在 com.carouseldemo.controls.CarouselAdapter.performItemClick(CarouselAdapter.java:261) 08-10 16:04:31.570: 错误/AndroidRuntime(1028): 在 com.carouseldemo.controls.Carousel.onSingleTapUp(Carousel.java:1076) 08-10 16:04:31.570: 错误/AndroidRuntime(1028): 在 android.view.GestureDetector.onTouchEvent(GestureDetector.java:557) 08-10 16:04:31.570: 错误/AndroidRuntime(1028): 在 com.carouseldemo.controls.Carousel.onTouchEvent(Carousel.java:327) 08-10 16:04:31.570: 错误/AndroidRuntime(1028): 在 android.view.View.dispatchTouchEvent(View.java:3766) 08-10 16:04:31.570: 错误/AndroidRuntime(1028): 在 android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:897) 08-10 16:04:31.570: 错误/AndroidRuntime(1028): 在 android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936) 08-10 16:04:31.570: 错误/AndroidRuntime(1028): 在 android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936) 08-10 16:04:31.570: 错误/AndroidRuntime(1028): 在 android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936) 08-10 16:04:31.570: 错误/AndroidRuntime(1028): 在 com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1671) 08-10 16:04:31.570: 错误/AndroidRuntime(1028): 在 com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1107) 08-10 16:04:31.570: 错误/AndroidRuntime(1028): 在 android.app.Activity.dispatchTouchEvent(Activity.java:2086) 08-10 16:04:31.570: 错误/AndroidRuntime(1028): 在 com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1655) 08-10 16:04:31.570: 错误/AndroidRuntime(1028): 在 android.view.ViewRoot.handleMessage(ViewRoot.java:1785) 08-10 16:04:31.570: 错误/AndroidRuntime(1028): 在 android.os.Handler.dispatchMessage(Handler.java:99) 08-10 16:04:31.570: 错误/AndroidRuntime(1028): 在 android.os.Looper.loop(Looper.java:123) 08-10 16:04:31.570: 错误/AndroidRuntime(1028): 在 android.app.ActivityThread.main(ActivityThread.java:4627) 08-10 16:04:31.570: 错误/AndroidRuntime(1028): 在 java.lang.reflect.Method.invokeNative(Native Method) 08-10 16:04:31.570: 错误/AndroidRuntime(1028): 在 java.lang.reflect.Method.invoke(Method.java:521) 08-10 16:04:31.570: 错误/AndroidRuntime(1028): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 08-10 16:04:31.570: 错误/AndroidRuntime(1028): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 08-10 16:04:31.570: ERROR/AndroidRuntime(1028): at dalvik.system.NativeStart.main(Native Method)

最初我只拍了六张照片。

请帮忙

提前致谢 数据

【问题讨论】:

    标签: android


    【解决方案1】:

    您在 MainActivity 的第 75 行收到 ClassCastException:

     java.lang.ClassCastException: java.lang.Integer
    

    确保您使用的参数确实是整数。

    【讨论】:

    • @cantona:是的,我解决了这个问题。我如何将图标与标题结合起来。
    【解决方案2】:

    要从您的应用程序启动其他应用程序,您需要有它的包名,您可以通过它启动其他应用程序;

    ResolveInfo info;
    packageName = info.activityInfo.applicationInfo.packageName;
    
    Intent mIntent = getPackageManager().getLaunchIntentForPackage(packageName);
            mIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            mIntent.addFlags(Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
            if (null != mIntent) {
                try {
                    startActivity(mIntent);
                } catch(Exception e) {      }
            }
    

    您可以通过以下方式获取安装包:

    ArrayList<PackageInfo> res = new ArrayList<PackageInfo>();
            PackageManager pm = context.getApplicationContext().getPackageManager();
            List<PackageInfo> packs = pm.getInstalledPackages(0);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-13
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      • 2012-01-21
      • 2012-02-07
      • 2015-05-26
      • 2011-02-27
      相关资源
      最近更新 更多