标签: securityexception

Android SecurityException ACCESS_WIFI_STATE

我正在构建一个使用wifi的Android应用程序.
我在清单中正确声明了这些使用权限,但由于某种原因,应用程序抛出了一个SecurityException,导致应用程序强行关闭.

我将LogCat中安全异常的原因跟踪到系统,说它没有access_wifi_state权限.这对我来说很奇怪和困惑,因为我已经在清单中宣布了它.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="android.wifi"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-permission android:name="ACCESS_WIFI_STATE" />
    <uses-permission android:name="CHANGE_WIFI_STATE" />
    <uses-feature android:name="android.hardware.wifi" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-sdk android:minSdkVersion="8" />
    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >

        <activity
            android:name="android.wifi.AndroidWiFiActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>
Run Code Online (Sandbox Code Playgroud)

以下是导致异常的代码:

package android.wifi;

import android.app.Activity;
import android.content.Context;
import android.net.wifi.WifiManager;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.widget.Button;
import android.widget.TextView;
import android.wifi.R;

public class AndroidWiFiActivity extends Activity {
    /** Called when the activity is first …
Run Code Online (Sandbox Code Playgroud)

android securityexception android-wifi

2
推荐指数
1
解决办法
8727
查看次数

如何克服`禁止包名称'例外?

是否可以关闭/覆盖java.lang.SecurityException: Prohibited package name

我需要扩展AffineTransform一些在缺乏功能的情况下实现的类,我需要访问m00, m01, ...被定义为包受保护的成员.

java securityexception

2
推荐指数
1
解决办法
1471
查看次数

Webstart 应用程序:SecurityException: setContextClassLoader

我有一个连接到 Web 服务的 webstart 应用程序。清单有:

Permissions: all-permissions
Run Code Online (Sandbox Code Playgroud)

jnlp 有:

<security>
  <all-permissions/>
</security>
Run Code Online (Sandbox Code Playgroud)

但是,当创建到 Web 服务的连接时,我得到了一个java.lang.SecurityException: setContextClassLoader(完整的堆栈跟踪如下)。当我直接运行应用程序(没有 webstart)时,它工作正常。有什么我应该检查或更改我的设置来解决问题的吗?

注意:我使用的是 Java 8。该应用程序在构建 121 时运行良好,但在构建 123、124 或 125(最新的)时失败。所以要么我的设置很好并且在 b121 和 b123 之间引入了一个错误,要么在 b123 中修复了一个错误,这暴露了我的设置中的问题。

org.glassfish.hk2.api.MultiException: A MultiException has 2 exceptions.  They are:
1. java.lang.SecurityException: setContextClassLoader
2. java.lang.IllegalStateException: Unable to perform operation: create on org.jvnet.hk2.internal.DynamicConfigurationServiceImpl

    at org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:362) ~[na:na]
    at org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:454) ~[na:na]
    at org.jvnet.hk2.internal.SingletonContext.findOrCreate(SingletonContext.java:119) ~[na:na]
    at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2296) ~[na:na]
    at org.jvnet.hk2.internal.ServiceLocatorImpl.getService(ServiceLocatorImpl.java:590) ~[na:na]
    at org.jvnet.hk2.internal.ServiceLocatorImpl.getService(ServiceLocatorImpl.java:577) ~[na:na]
    at org.glassfish.hk2.utilities.ServiceLocatorUtilities.enablePerThreadScope(ServiceLocatorUtilities.java:89) ~[na:na]
    at org.glassfish.jersey.internal.inject.Injections._createLocator(Injections.java:144) ~[na:na]
    at org.glassfish.jersey.internal.inject.Injections.createLocator(Injections.java:137) …
Run Code Online (Sandbox Code Playgroud)

java securityexception classloader java-web-start

2
推荐指数
1
解决办法
2546
查看次数

签名的Java Applet在连接到Web服务时引发安全异常

我有一个在tomcat 5.5上运行的java applet.签名(-selfcert).java.security.AccessControlException: access denied (java.lang.RuntimePermission createClassLoader)当我的Applet尝试连接到webservice(已在此行中)时,我仍然遇到异常:

ws_locator = new My_WebserviceLocator(ws_adress + "?wsdl",
                new javax.xml.namespace.QName("http://impl.webservice", "My_Webservice"));
Run Code Online (Sandbox Code Playgroud)

由于这里有一些类似的问题,我读了它们:

  • 是的,小程序已签名.我用-verify检查了它.

  • 可能是Tomcat安全异常,但我已经添加到catalina.policy:

    grant codeBase "file:/home/me/apache-tomcat-5.5.27/webapps/myapplet/-" {
        permission java.security.AllPermission;    };
    
    Run Code Online (Sandbox Code Playgroud)

    grant codeBase "file:/home/me/apache-tomcat-5.5.27/webapps/myapplet/applet.jar" { permission java.security.AllPermission; };

通常的东西也在那里:

grant codeBase "file:${java.home}/jre/lib/ext/-" {
        permission java.security.AllPermission;
};
Run Code Online (Sandbox Code Playgroud)

没有结果.

好的,快速更新,添加:

grant{
        permission java.security.AllPermission;
};
Run Code Online (Sandbox Code Playgroud)

到本地java.policy文件修复了这个问题.但这不是我想要的,applet应该在avarage机器上运行,使用dafault java.policy文件.所以它必须从代码中修复.

java applet signed securityexception self-signed

1
推荐指数
1
解决办法
4275
查看次数

Android权限拒绝:forceStopPackage()

我试图使用forceStopPackage()杀死另一个应用程序.但我的应用程序显示运行时错

错误:

java.lang.SecurityException: Permission Denial: forceStopPackage() from pid=10377, uid=10200 requires android.permission.FORCE_STOP_PACKAGES
Run Code Online (Sandbox Code Playgroud)

在我的清单文件中,我添加了以下权限.

<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />

    <permission
        android:name="android.permission.FORCE_STOP_PACKAGES"
        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
        android:protectionLevel="signature"
        android:sharedUserId="android.uid.system" />
Run Code Online (Sandbox Code Playgroud)

代码:

ActivityManager am = (ActivityManager) 
         context.getSystemService(Context.ACTIVITY_SERVICE);
Method forceStopPackage = am.getClass().
          getDeclaredMethod("forceStopPackage", String.class);  
    forceStopPackage.setAccessible(true);  
    forceStopPackage.invoke(am, packageName);
Run Code Online (Sandbox Code Playgroud)

如何解决问题.

permissions android securityexception permission-denied

1
推荐指数
2
解决办法
7005
查看次数

java.lang.SecurityException:Permission Denial:启动Intent {act = android.settings.USAGE_ACCESS_SETTINGS}

尝试startActivityForResult(intent, requestCode);使用final Intent intent = new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS);intent 时,我得到java.lang.SecurityException .有趣的是这次崩溃只发生在华为的Android 5.1 - 5.1.1上我没有华为设备.你能告诉我它的建议吗?

堆栈跟踪

Fatal Exception: java.lang.SecurityException: Permission Denial: starting Intent { act=android.settings.USAGE_ACCESS_SETTINGS cmp=com.android.settings/.Settings$UsageAccessSettingsActivity } from ProcessRecord{11b5f1a1 19764:com.myproject.my/u0a167} (pid=19764, uid=10167) not exported from uid 1000
       at android.os.Parcel.readException(Parcel.java:1546)
       at android.os.Parcel.readException(Parcel.java:1499)
       at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:2448)
       at android.app.Instrumentation.execStartActivity(Instrumentation.java:1496)
       at android.app.Activity.startActivityForResult(Activity.java:3794)
       at android.support.v4.app.BaseFragmentActivityJB.startActivityForResult(BaseFragmentActivityJB.java:48)
       at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:77)
       at android.app.Activity.startActivityForResult(Activity.java:3755)
       at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:859)
       at com.myproject.my.utils.PermissionsHelper$2.onClick(PermissionsHelper.java:134)
       at android.support.v7.app.AlertController$ButtonHandler.handleMessage(AlertController.java:157)
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loop(Looper.java:135)
       at android.app.ActivityThread.main(ActivityThread.java:5298)
       at java.lang.reflect.Method.invoke(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:372)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:911)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:706)
Run Code Online (Sandbox Code Playgroud)

java android securityexception android-securityexception

1
推荐指数
1
解决办法
1272
查看次数

性能计数器抛出SecurityException

这是代码:

    private static void CreateCounter()
    {
        if (PerformanceCounterCategory.Exists("DemoCategory"))
            PerformanceCounterCategory.Delete("DemoCategory");

        CounterCreationDataCollection ccdArray = new CounterCreationDataCollection();

        CounterCreationData ccd = new CounterCreationData();
        ccd.CounterName = "RequestsPerSecond";
        ccd.CounterType = PerformanceCounterType.NumberOfItems32;
        ccd.CounterHelp = "Requests per second";
        ccdArray.Add(ccd);

        PerformanceCounterCategory.Create("DemoCategory", "Demo category",
            PerformanceCounterCategoryType.SingleInstance, ccdArray);

        Console.WriteLine("Press any key, to start use the counter");
    }
Run Code Online (Sandbox Code Playgroud)

明显:

PerformanceCounterCategory.Create("DemoCategory", "Demo category", 
     PerformanceCounterCategoryType.SingleInstance, ccdArray);
Run Code Online (Sandbox Code Playgroud)

是抛出异常的行.

我读过PerformanceCounterPermission,我该怎么办?

securityexception performancecounter

0
推荐指数
1
解决办法
1596
查看次数

启动服务时不允许绑定到服务意图

我现在正在开发一个android应用程序。当我要启动服务时,我遇到问题:不允许绑定到服务意图。该服务是Yotaphone背屏服务。

我正在搜索问题,信息很少,大多数都不是同类问题。我不知道哪一部分出了问题。

我按照指示进行操作:http : //mwiki.yotaphone.com/wiki/Building_First_App

MainActivity中的onStart()函数:

@Override
protected void onStart() {
    super.onStart();
    Intent bsIntent = new Intent(this, MyBSActivity.class);
    this.startService(bsIntent);

}
Run Code Online (Sandbox Code Playgroud)

Yotaphone背屏服务:

public class MyBSActivity extends BSActivity {
@Override
protected void onBSCreate() {
    super.onBSCreate();
    setBSContentView(R.layout.bs_activity);
}}
Run Code Online (Sandbox Code Playgroud)

错误说明:

04-24 18:27:12.659  28763-28763/com.pli.yotaphone2 E/AndroidRuntime? FATAL EXCEPTION: main
Process: com.pli.yotaphone2, PID: 28763
java.lang.RuntimeException: Unable to start service com.pli.yotaphone2.MyBSActivity@42624840 with Intent { cmp=com.pli.yotaphone2/.MyBSActivity }: java.lang.SecurityException: Not allowed to bind to service Intent { act=yotaphone.intent.action.GET_SDK_BINDER }
        at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2735)
        at android.app.ActivityThread.access$2100(ActivityThread.java:138)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1296)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at …
Run Code Online (Sandbox Code Playgroud)

java android securityexception android-intent android-service

0
推荐指数
1
解决办法
4469
查看次数