Intent.FLAG_ACTIVITY_NEW_TASK 和 Intent.FLAG_GRANT_READ_URI_PERMISSION
时间: 2024-01-28 13:13:49 浏览: 290
activity和Intent的使用
Intent.FLAG_ACTIVITY_NEW_TASK是一个标志位,用于指示启动一个新的任务(Task)。当使用该标志位启动一个Activity时,系统会创建一个新的任务,并将该Activity添加到新的任务中。这意味着该Activity将成为新任务的根Activity,并且在返回键按下时,将返回到该Activity之前的Activity而不是返回到之前的任务。
Intent.FLAG_GRANT_READ_URI_PERMISSION是一个标志位,用于授予读取指定URI的权限。当使用该标志位时,可以将该URI传递给其他应用程序,并且其他应用程序将能够使用该URI读取相关数据。这在实现数据共享和跨应用程序访问时非常有用。
以下是两个标志位的使用示例:
1. 使用Intent.FLAG_ACTIVITY_NEW_TASK启动一个新任务的Activity:
```java
Intent intent = new Intent(context, MyActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
```
2. 使用Intent.FLAG_GRANT_READ_URI_PERMISSION授予读取URI的权限:
```java
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(uri, "image/*");
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
context.startActivity(intent);
```
阅读全文