相关文章推荐
阳刚的显示器  ·  阿里云独家深度| ...·  1 周前    · 

PackageManager tmxx = getPackageManager();
Log.v(TAG," clickedon going get intent");
Intent intent = tmxx.getLaunchIntentForPackage(packgename);

如果包名没有问题,得到的是null,原因应该是该包没有main activity。从而找不到入口。

在androidmanifest.xml设置main activity范例如下:

<activity android:name="ConfigureActivity" android:icon="@drawable/weather"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

一般两个属性是同时存在的。

一般没有这两个属性的是不能独立运行,或者对运行环境要求很严格。

今天遇到这个问题,因应用为第三方,从而有多个入口。所以解决方式就是,如为null就返回。防止报空指针。 getLaunchIntentForPackage 获取到的为null原因PackageManager tmxx = getPackageManager();Log.v(TAG," clickedon going get intent");Intent intent = tmxx.getLaunchIntentForPackage(packgename); 如果包名没有问题
Inte nt inte nt = get Package Manager().get Launch Inte nt For Package ("com.example.app2"); if ( inte nt == null ) { Toast.makeText(getApplicationCo nt ext(),"没有安装该app",Toast.LENGTH_SHORT).show(); } else { startActivity( inte nt );
启动Activity的方法有很多种,其中通过 Package Manger.get Launch Inte nt For Package (String package Name) 获取 Inte nt 对象也可以启动Activity,代码如下: Inte nt inte nt = get Package Manager().get Launch Inte nt For Package ("com.android.vending");
应用中响应 android. inte nt .action.MAIN 和 android. inte nt .category. LAUNCH ER 在本文中称为主界面。 本文基于 Android O 用 Package Installer安装应用,在安装完成界面里点击打开,应用闪屏页打开后,按Home键回到桌面,点击桌面里的应用图标。 问题点:再打开一个闪屏页。 问题 原因 应用中启动别的应用,以...
public void startApk(String package Name) throws NameNotFoundException { Inte nt inte nt = new Inte nt (); package Manager.get Package Info( package Name, Pa...
public void StartAPP(String package NameStr) Inte nt inte nt = get Package Manager().get Launch Inte nt For Package ( package NameStr);
Android SDK中有这样一个API: public abstract Inte nt get Launch Inte nt For Package (String package Name) 如果 package Name存在返回入口 Inte nt , startActivity( Inte nt )可以启动应用,否则返回 null import android.app.Activity; 下面有个小示例:
try { Inte nt inte nt = mCo nt ext.get Package Manager().get Launch Inte nt For Package ( package name);