运行活动的权限存在问题

发布于 2024-11-30 19:40:03 字数 1990 浏览 0 评论 0原文

我想了解权限在 android 中是如何工作的。我做了一个简单的项目:1 个源文件和 1 个 xml 布局。并且:

1)我定义活动的权限(活动名称是“AndroidTestActivity”,权限名称是“android.permission.MY_PERMISSION”),

2)我定义活动的使用权限(), 我的问题是:当我运行 AndroidTestActivity 时,logcat 说:

08-19 19:39:18.311: WARN/ActivityManager(59): Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.example.Android.Test/.AndroidTestActivity } from null (pid=-1, uid=-1) requires android.permission.MY_PERMISSION

为什么我会收到权限拒绝?我做了使用许可,还不够吗?

这是 AndroidManifest 源代码:

    <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.Android.Test" android:versionCode="1"
    android:versionName="1.0">
    <uses-sdk android:minSdkVersion="7" />
    <permission android:name="android.permission.MY_PERMISSION" android:protectionLevel="normal"></permission>
    <uses-permission android:name="android.permission.MY_PERMISSION"></uses-permission>

    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".AndroidTestActivity" android:permission="android.permission.MY_PERMISSION"
        android:label="Sample menus application">
             <intent-filter> 
                 <action android:name="android.intent.action.MAIN"/>
                 <category android:name="android.intent.category.LAUNCHER" /> 
             </intent-filter> 
        </activity>
    </application>
</manifest>

这是 AndroidTestActivity 源代码:

  public class AndroidTestActivity extends Activity {
    TextView tv;
    Menu myMenu=null;
    @Override
    public void onCreate(Bundle savedlnstanceState) {
        super.onCreate(savedlnstanceState);
        setContentView(R.layout.main);
    }
    }

I`m trying to understand, how permissions work in android. I made simple project: 1 source file and 1 xml-layout. And:

1) I define permission to activity (activity name is "AndroidTestActivity", permission name is "android.permission.MY_PERMISSION"),

2) I define uses-permission for activity (),
My problem is: when I run AndroidTestActivity, logcat says:

08-19 19:39:18.311: WARN/ActivityManager(59): Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.example.Android.Test/.AndroidTestActivity } from null (pid=-1, uid=-1) requires android.permission.MY_PERMISSION

Why do I get Permission Denial? I made uses-permission, isn`t it enough?

Here is AndroidManifest source:

    <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.Android.Test" android:versionCode="1"
    android:versionName="1.0">
    <uses-sdk android:minSdkVersion="7" />
    <permission android:name="android.permission.MY_PERMISSION" android:protectionLevel="normal"></permission>
    <uses-permission android:name="android.permission.MY_PERMISSION"></uses-permission>

    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".AndroidTestActivity" android:permission="android.permission.MY_PERMISSION"
        android:label="Sample menus application">
             <intent-filter> 
                 <action android:name="android.intent.action.MAIN"/>
                 <category android:name="android.intent.category.LAUNCHER" /> 
             </intent-filter> 
        </activity>
    </application>
</manifest>

Here is AndroidTestActivity source:

  public class AndroidTestActivity extends Activity {
    TextView tv;
    Menu myMenu=null;
    @Override
    public void onCreate(Bundle savedlnstanceState) {
        super.onCreate(savedlnstanceState);
        setContentView(R.layout.main);
    }
    }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

你不是我要的菜∠ 2024-12-07 19:40:03

根据 docs 它应该像这样:

<permission android:name="com.example.Android.Test.permission.MY_PERMISSION"
     android:protectionLevel="normal" 
     android:description="Some description" 
     android:label="Some label" />
<uses-permission 
     android:name="com.example.Android.Test.permission.MY_PERMISSION" />

According to the docs it should smth like this:

<permission android:name="com.example.Android.Test.permission.MY_PERMISSION"
     android:protectionLevel="normal" 
     android:description="Some description" 
     android:label="Some label" />
<uses-permission 
     android:name="com.example.Android.Test.permission.MY_PERMISSION" />
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文