作者:后果搞活棵_654_962 | 来源:互联网 | 2024-11-28 17:32
1. 检测设备上是否安装了特定应用
/**
* 检查设备上是否已安装指定的应用程序。
*
* @param context 应用程序上下文
* @param packageName 目标应用程序的包名
* @return 如果安装了返回true,否则返回false
*/
public static boolean isAppInstalled(Context context, String packageName) {
if (TextUtils.isEmpty(packageName))
return false;
try {
context.getPackageManager().getApplicationInfo(packageName, PackageManager.GET_UNINSTALLED_PACKAGES);
return true;
} catch (PackageManager.NameNotFoundException e) {
return false;
}
}
2. 获取应用的版本名称
/**
* 从应用的包信息中获取版本名称。
*
* @param context 应用程序上下文
* @return 版本名称字符串,如果获取失败则返回null
*/
public static String getAppVersionName(Context context) {
String versiOnName= null;
try {
versiOnName= context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionName;
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
return versionName;
}
3. 设置状态栏透明
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
// 使状态栏透明
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
}
4. 跳转至其他应用
为了实现从当前应用跳转到另一个应用的功能,需要确保目标应用的Activity在清单文件中正确配置,具体如下:
- 在目标应用的
标签中添加android:exported="true"
属性。 - 同时为该Activity添加一个
,以允许其他应用启动它。
接下来,在源应用中创建并发送Intent来启动目标应用的Activity:
Intent intent = new Intent();
ComponentName compOnentName= new ComponentName("com.target.app", "com.target.app.ui.login.LoginActivity");
Bundle bundle = new Bundle();
bundle.putString("userId", "exampleUser");
bundle.putString("password", "examplePass");
intent.putExtras(bundle);
intent.setComponent(componentName);
startActivity(intent);