美好的一天,
在我的简单Andorid应用程序中,它实际上只是一个webview应用程序,我添加了" android:exported =" false"在Android Manifest中,以避免没有权限的"导出的服务"警告/漏洞。但是,当我在我的设备上运行时,它会给出" App未安装"错误,除非我将其更改为" android:exported =" true",然后该应用程序将在我的设备上正常启动。
然后我尝试按如下方式添加权限标记,以避免没有权限的"导出的服务"警告但应用程序不会再运行。什么是最好的应用程序正确运行?我真的不需要出口任何服务。 互联网权限适用于我的应用中的某些注释链接,这些链接可以在外部浏览器中打开。
很抱歉,如果我错过了一些基本知识,因为我是Android开发的新手,感谢任何指示。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package=com.mymundane.app">
<uses-permission android:name="android.permission.INTERNET" />
<permission android:name=com.mymundane.app.mypermission"
android:label="mypermission" android:protectionLevel="signature">
</permission>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label=com.mymundane.app"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme"
android:fullBackupContent="@xml/backup_descriptor">
<activity android:name=com.mymundane.app.MainActivity"
android:exported="true" android:screenOrientation="portrait"
android:permission=com.mymundane.app.mypermission">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
答案 0 :(得分:3)
“已导出”属性描述了是否允许其他人使用它。
因此,如果您在Activity上有“exported = false”,则其他应用程序甚至Android系统本身都无法启动它。只有你自己的应用程序才能做到这一点。
因此,标记为LAUNCHER Activity的Activity上的“exported = false”设置基本上会告诉系统它无法启动您的应用程序。
至于你提到的错误,我在你的清单中看不到任何服务?这个警告在哪里显示给你?