Android 如何使用导航组件在单个活动设计中使用权限?
我以前的应用程序有许多活动,其中一些活动被声明为导出的true,以便其他应用程序可以通过意图过滤器调用它们。 他们中的一些人还拥有特定的权限,这些权限也设置在我的活动中 现在,我正在开发一个使用单一活动的应用程序。 因此,我很想知道如何在单个活动设计中处理这个权限问题,因为我只有一个活动Android 如何使用导航组件在单个活动设计中使用权限?,android,android-activity,android-manifest,android-permissions,Android,Android Activity,Android Manifest,Android Permissions,我以前的应用程序有许多活动,其中一些活动被声明为导出的true,以便其他应用程序可以通过意图过滤器调用它们。 他们中的一些人还拥有特定的权限,这些权限也设置在我的活动中 现在,我正在开发一个使用单一活动的应用程序。 因此,我很想知道如何在单个活动设计中处理这个权限问题,因为我只有一个活动 // Single activity: exported = true. How can i handle permission for place action? <activity
// Single activity: exported = true. How can i handle permission for place action?
<activity
android:name="com.example.singleActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<!-- Place -->
<action android:name="com.action.places"/> // How can i handle permission for this action?
<!-- UserCheck -->
<action android:name="com.confirm.passowrd" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
以前,在多个活动中,我可以轻松设置特定活动的权限。我怎么处理这件事?
我是个新手。我找了很多,但没有找到任何线索
编辑:
Multiple activities declaration:
<permission
android:name="com.example.permission"
android:protectionLevel="signatureOrSystem"
tools:ignore="SignatureOrSystemPermissions"
/>
// Activity 1: With permission, exported = true
<activity
android:name=".place"
android:configChanges="keyboardHidden|orientation|screenSize|screenLayout"
android:exported="true"
android:label="place"
android:permission="com.example.permission" // Sets a permission
android:theme="@style/Theme.AppCompat.DayNight.NoActionBar">
<intent-filter>
<action android:name="com.action.places" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
// Activity 2: With no permission, exported = true
<activity
android:name="userCheck"
android:configChanges="mcc|mnc|keyboard|keyboardHidden|orientation"
android:exported="true"
android:theme="@style/Theme.AppCompat.DayNight.NoActionBar">
<intent-filter>
<action android:name="com.confirm.passowrd" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
多活动声明:
//活动1:具有权限,导出=true
//活动2:在没有权限的情况下,exported=true
现在,我想转到单个活动
// Single activity: exported = true. How can i handle permission for place action?
<activity
android:name="com.example.singleActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<!-- Place -->
<action android:name="com.action.places"/> // How can i handle permission for this action?
<!-- UserCheck -->
<action android:name="com.confirm.passowrd" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
//单个活动:exported=true。我如何处理放置操作的权限?
//我如何处理此操作的权限?
如果要限制在某些情况下启动单个活动,而不是在其他情况下启动,则不能使用基于清单的权限。基于清单的权限控制对特定活动的访问,无论该活动如何启动
您可以做的是为您的单个活动创建
。
是一个清单条目,它引用实际的活动
,但提供备用启动选项。您可以在
上指定与实际活动
不同的权限集。您还可以指定不同的启动模式
,不同的
,等等。我不太理解您的问题。如果您的应用程序只有一个活动
,则您需要从该活动
请求所有权限。或者您正在询问访问活动所需的自定义权限?请编辑您的问题,并给我们一个您遇到问题的例子。@DavidWasser请现在检查我在单活动设计中遇到了另一个问题。你能帮帮我吗?我面临一个有关Activity alias许可的问题。请检查一下这个好吗?