在mainfest.xml中配置
android:sharedUserId="android.uid.system"
使此app与系统进程共享
需要 系统 相同的签名,但国产改过的系统用户并不一定默认的system
自己的不同app之间互相跳转用相同签名。
这里有签名的例子
https://blog.csdn.net/qq_29389373/article/details/87168615
跳转的例子
https://www.cxymm.net/article/The_king_of_Asia/104036820
分析的例子
https://www.cxyzjd.com/article/long375577908/64440186
https://blog.csdn.net/hfreeman2008/article/details/52778992
Intent intent=new Intent("/");
ComponentName cn=new ComponentName("com.android.settings", "com.android.settings.profile.ProfileSettings");
//ComponentName cn=new ComponentName("com.android.settings", ".profile.ProfileSettings");
intent.setComponent(cn);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivityForResult(intent, 1);
public void showSettings(@NonNull String activityName) throws ActivityNotFoundException {
Intent intent = new Intent();
intent.setClassName("com.android.settings", "com.android.settings.Settings$" + activityName);
getActivity().startActivity(intent);
}
分析过程
使用ADB命令查看当前手机页面 或者 Hierarchy Viewer工具
adb shell dumpsys activity top
小米系统的锁屏和密码设置界面
Intent intent = new Intent();
intent.setAction(Intent.ACTION_MAIN);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra(PreferenceActivity.EXTRA_SHOW_FRAGMENT,"com.android.settings.MiuiSecuritySettings");//open fragment
intent.putExtra(PreferenceActivity.EXTRA_NO_HEADERS,true);
intent.setComponent(new ComponentName("com.android.settings", "com.android.settings.SubSettings")); //fragment of Activity
getApplicationContext().startActivity(intent);
adb shell启动之intent
adb shell am start -n com.android.settings/com.android.settings.SubSettings -e :android:show_fragment com.android.settings.accounts.AccountDashboardFragment
adb shell am start -n com.android.settings/com.android.settings.SubSettings -e :android:show_fragment com.android.settings.users.UserSettings
adb shell am start -n com.android.settings/com.android.settings.SubSettings -e :android:show_fragment com.android.settings.DeviceInfoSettings
am start -n com.android.settings/com.android.settings.SubSettings -e :settings:show_fragment com.android.settings.applications.RunningServices