用一个app打开另外一个app比较好做,只要获得了它的包名packageName和入口类FirstActivityName就行了。
但是在一个APP中直接调用另一个app的activity,可以尝试下面方法,设置exported="true"
public void goOneAppSomeActivity(String packageName,String activityName){
//获得包信息
PackageInfo packageInfo = getPackageInfo(packageName,0);
if(packageInfo == null){
return;
}
it = new Intent();//no_action,no_category
ComponentName cn = new ComponentName(packageInfo.packageName, activityName);
it.setComponent(cn);
startActivity(it);
}
manifest:
<activity
android:name=".CountHistory"
android:screenOrientation="landscape"
android:label="@string/app_name"
android:exported="true">
</activity>
追加问个,注册的activity什么都不写默认exported="false"是这个么,true代表可交互,false代表不交互,如果写了过滤那么代表有意图交互