android - 使用我在 Android 上的应用程序中的数据启动应用程序特定活动
问题描述
我正在使用以下代码打开另一个应用程序。我想用一些数据指向特定的活动
Intent intent = getPackageManager().getLaunchIntentForPackage("com.package");
if (intent != null) {
// We found the activity now start the activity
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
} else {
// Bring user to the market or let them choose an app?
intent = new Intent(Intent.ACTION_VIEW);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setData(Uri.parse("market://details?id=" + "com.package"));
startActivity(intent);
}
解决方案
您可以按如下方式传递数据:
Intent intent = getPackageManager().getLaunchIntentForPackage("com.package");
if (intent != null) {
// We found the android app now start the launcher activity
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtras("key","value");
startActivity(intent);
} else {
// Bring user to the market or let them choose an app?
intent = new Intent(Intent.ACTION_VIEW);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setData(Uri.parse("market://details?id=" + "com.package"));
startActivity(intent);
}
并且在接收 android 应用程序时,您可以检查此密钥是否存在。
希望这可以帮助
推荐阅读
- html - PowerBI Dashboard 聊天窗口自定义
- amazon-web-services - AWS Glue 中的错误:下载脚本时出错
- php - 使用刷新令牌续订后访问令牌相同
- javascript - React Native - MapView 中 UrlTile 的动态 URL
- couchbase - Couchbase 未为所有文档设置新属性
- sql-server - 无法启动从 SQL Server 到 Oracle 的链接服务器的分布式事务
- .net - 无法在 SQL Server Management Studio 中加载文件或程序集 'System.EnterpriseServices,版本 = 4.0.0.0
- jenkins - 如何让 Jenkins lastBuild API 与多分支管道一起工作?
- xamarin - 如何从 xamarin 形式的类中连接字符串?
- reactjs - 打字稿:使用接受组件实例的外部函数反应渲染