如何通过packageName来找到该程序的入口Activity??具体的代码实现是如何的?

解决方案 »

  1.   

    在程序的Manifest.xml里修改Activity(没有就添加)Intent—Filter,在里面加上
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
      

  2.   

    也就是说在你的Activity中间加上
    <Intent-Filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
    </Intent-Filter>
      

  3.   

    他的意思是在一个APP中去开启另一个APP的入口吧
      

  4.   

    private void findMainActivity(){

    PackageManager pm = getPackageManager();
    List<PackageInfo> pkinfolist = pm.getInstalledPackages(PackageManager.GET_ACTIVITIES);
    for(PackageInfo pkinfo:pkinfolist){

    String pkname = pkinfo.packageName;
    System.out.println("pkname:"+pkname);

    if("com.android.settings".equals(pkname)){
    ActivityInfo mainactivityinfo = pkinfo.activities[0];
    //入口activity
    String mainactivityname = mainactivityinfo.name;
    System.out.println("mainactivityname:"+mainactivityname);
    Intent intent = new Intent();
    intent.setClassName(pkname, mainactivityname);
    startActivity(intent);
    }

    }

    }