如果您对使用android.content.Context.checkPermission检查权限时出现空指针异常感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于使用andr
如果您对使用android.content.Context.checkPermission检查权限时出现空指针异常感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于使用android.content.Context.checkPermission检查权限时出现空指针异常的详细内容,我们还将为您解答android空指针异常怎么解决的相关问题,并且为您提供关于Android setContentView 的时候包空指针异常、android – WARN / ActivityManager(5038):权限被拒绝:checkComponentPermission、android – 指令’monitor-enter v1’时出现空指针异常、Android-Mockito无法模拟此类:类android.content.Context的有价值信息。
本文目录一览:- 使用android.content.Context.checkPermission检查权限时出现空指针异常(android空指针异常怎么解决)
- Android setContentView 的时候包空指针异常
- android – WARN / ActivityManager(5038):权限被拒绝:checkComponentPermission
- android – 指令’monitor-enter v1’时出现空指针异常
- Android-Mockito无法模拟此类:类android.content.Context
使用android.content.Context.checkPermission检查权限时出现空指针异常(android空指针异常怎么解决)
在查询Android日历中的事件之前,我需要检查权限。为此,Android studio警告我在查询之前需要先进行检查。自动生成的代码如下:
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_CALENDAR) != PackageManager.PERMISSION_GRANTED) { System.out.println("NO ACCESS TO CALENDAR!! Abort mission, abort mission!!"); }
尝试运行它时,出现以下错误:
尝试
在空对象引用上调用虚拟方法’int
android.content.Context.checkPermission(java.lang.String,int,int)’
因此很明显,此时某些东西为空,我试图以不同的方式获取应用程序的上下文,但这仍然是相同的错误。我尝试过的另一件事是这段代码,应该可以处理低于Android
6的目标:
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_CALENDAR) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_CALENDAR}, MY_PERMISSIONS_REQUEST_READ_CONTACTS); }
仍然出现相同的错误,有人可以帮助我吗?
答案1
小编典典它是一个单独的类,控制器:公共类DummyData扩展了Activity {....}
那是行不通的。
*Activity
除非是一项真正的活动,否则请 *不要 扩展,这是您将在清单中注册的活动。
永远不要Activity
通过构造函数创建一个实例(例如,newDummyData()
您在代码中的某处)。使用startActivity()
显示一个活动,您在清单已注册。
就目前而言,虽然您的DummyData
类可以从编译的角度工作,但它在运行时将无法工作。一个Activity
需要由框架被实例化,而不是与你的情况DummyData
。
将 实物 传递Context
给checkSelfPermission()
,然后将 实物
传递Activity
给requestPermissions()
。在这种情况下,“真实”是指“从框架交给您”。
Android setContentView 的时候包空指针异常
Android setContentView 的时候包空指针异常。
代码:
异常:
04-22 04:08:25.434 26417-26417/com.jeanselam.activities E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.jeanselam.activities, PID: 26417
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.jeanselam.activities/com.jeanselam.activities.DisplayNewsActivity}: android.view.InflateException: Binary XML file line #26: Error inflating class null
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2184)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233)
at android.app.ActivityThread.access$800(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5001)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.view.InflateException: Binary XML file line #26: Error inflating class null
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:758)
at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:256)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:109)
at com.jeanselam.activities.DisplayNewsActivity.onCreate(DisplayNewsActivity.java:33)
at android.app.Activity.performCreate(Activity.java:5231)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2148)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233)
at android.app.ActivityThread.access$800(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5001)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:90)
at android.support.v7.app.AppCompatDelegateImplV7.createView(AppCompatDelegateImplV7.java:938)
at android.support.v7.app.AppCompatDelegateImplV7.onCreateView(AppCompatDelegateImplV7.java:992)
at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:684)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:758)
at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:256)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:109)
at com.jeanselam.activities.DisplayNewsActivity.onCreate(DisplayNewsActivity.java:33)
at android.app.Activity.performCreate(Activity.java:5231)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2148)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233)
at android.app.ActivityThread.access$800(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5001)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
at dalvik.system.NativeStart.main(Native Method)
android – WARN / ActivityManager(5038):权限被拒绝:checkComponentPermission
从一个应用程序我(广播)发送意图到另一个的广播接收器.我收到错误:
WARN/ActivityManager(5038): Permission denied: checkComponentPermission
解决方法:
您需要在清单文件下添加权限添加这些权限
<receiver android:name=".YourbroadCastReceiverName" android:exported="true"></receiver>
android – 指令’monitor-enter v1’时出现空指针异常
inside public void onResponse(呼叫,响应响应){:
mContext.runOnUiThread(new Runnable() { @Override public void run() { LocalDBUtility local=LocalDBUtility.getInstance(); //code }
在我的单例类LocalDBUtility中
static LocalDBUtility localDBUtility; private LocalDBUtility(){ } public static LocalDBUtility getInstance(){ if(localDBUtility==null){ synchronized (localDBUtility) { localDBUtility = new LocalDBUtility(); } return localDBUtility; }else { return localDBUtility; } }
我想知道是什么导致了NPE?
堆栈跟踪:
java.lang.NullPointerException: Null pointer exception during instruction 'monitor-enter v1' at com.utilities.LocalDBUtility.getInstance(LocalDBUtility.java:34) at com.MainActivity$4.run(MainActivity.java:386) at android.app.Activity.runOnUiThread(Activity.java:5506) at retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall$1$1.run(ExecutorCallAdapterFactory.java:68) at android.os.Handler.handleCallback(Handler.java:815) at android.os.Handler.dispatchMessage(Handler.java:104) at android.os.Looper.loop(Looper.java:194) at android.app.ActivityThread.main(ActivityThread.java:5763) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:960) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755
解决方法
if(localDBUtility==null){ synchronized (localDBUtility) {
如果localDBUtility为null,则无法对其进行同步调用.您只能在实例化对象上进行同步.
Android-Mockito无法模拟此类:类android.content.Context
我们有2年的gradle版本3.3.1。因此,当我尝试将gradle版本直接提高到最新的4.x版本时,在运行单元测试时出现了一些问题。.so也不得不提高了模仿,最终导致了这个问题。
变得凌乱,不知道如何解决。
只是改变了方法-开始逐步提高gradle版本,而不是直接从这样的旧版本跳到最新版本。现在一切顺利,一切顺利。
因此,如果您处在相同的情况下,请一一提高版本,而不要跳太久。
今天关于使用android.content.Context.checkPermission检查权限时出现空指针异常和android空指针异常怎么解决的讲解已经结束,谢谢您的阅读,如果想了解更多关于Android setContentView 的时候包空指针异常、android – WARN / ActivityManager(5038):权限被拒绝:checkComponentPermission、android – 指令’monitor-enter v1’时出现空指针异常、Android-Mockito无法模拟此类:类android.content.Context的相关知识,请在本站搜索。
本文标签: