大佬教程收集整理的这篇文章主要介绍了Android 6.0“gps”位置提供程序需要ACCESS_FINE_LOCATION权限,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
“uses-permission android:name =”android.permission.ACCESS_FINE_LOCATION“/>
“uses-permission android:name =”android.permission.ACCESS_COARSE_LOCATION“/>
每当我尝试在Android 6.0上打开此活动时,它都会停止此logcat消息.但适用于某些手机.有人可以帮助我弄明白,并提供解决方案.几天来我一直试图解决这个问题,以及如何解决这个问题.
Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponenTinfo{org.data.smurf/org.data.smurf.KonkurransE}: java.lang.SecurityException: "gps" LOCATIOn provider requires ACCESS_FINE_LOCATION permission. at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3253) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3349) at android.app.ActivityThread.access$1100(ActivityThread.java:221) at android.app.ActivityThread$H.handlemessage(ActivityThread.java:1794) at android.os.Handler.dispatchmessage(Handler.java:102) at android.os.Looper.loop(Looper.java:158) at android.app.ActivityThread.main(ActivityThread.java:7224) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) Caused by java.lang.SecurityException: "gps" LOCATIOn provider requires ACCESS_FINE_LOCATION permission. at android.os.Parcel.readException(Parcel.java:1620) at android.os.Parcel.readException(Parcel.java:1573) at android.LOCATIOn.ILOCATIOnManager$stub$Proxy.requestLOCATIOnupdates(ILOCATIOnManager.java:688) at android.LOCATIOn.LOCATIOnManager.requestLOCATIOnupdates(LOCATIOnManager.java:908) at android.LOCATIOn.LOCATIOnManager.requestLOCATIOnupdates(LOCATIOnManager.java:469) at org.data.smurf.Konkurranse.onCreate(Konkurranse.java:197) at android.app.Activity.performCreate(Activity.java:6876) at android.app.instrumentation.callActivityOnCreate(instrumentation.java:1135) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3206) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3349) at android.app.ActivityThread.access$1100(ActivityThread.java:221) at android.app.ActivityThread$H.handlemessage(ActivityThread.java:1794) at android.os.Handler.dispatchmessage(Handler.java:102) at android.os.Looper.loop(Looper.java:158) at android.app.ActivityThread.main(ActivityThread.java:7224) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
这是我的Konkurranse /竞赛活动.我删除了与菜单和操作栏无关的代码.
Public class Konkurranse Extends Activity { /** * Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceStatE) { super.onCreate(savedInstanceStatE); FacebookSdk.sdkInitialize(getApplicationContext()); Fresco.initialize(getApplicationContext()); setContentView(R.layout.activity_konkurransE); LOCATIOnManager LOCATIOnManager = (LOCATIOnManager) this.getSystemservice(Context.LOCATION_serviCE); final com.facebook.Profile profile = com.facebook.Profile.getCurrentProfile(); final ProfilePictureView profilePictureView = (ProfilePictureView) findViewById(R.id.profilepic); final TextView name = (TextView) findViewById(R.id.Name); simpleDraweeView = (SimpleDraweeView) findViewById(R.id.profilePicturE); RoundingParams roundingParams = RoundingParams.fromCornersRadius(50f); roundingParams.setRoundAsCircle(true); simpleDraweeView.getHierarchy().setRoundingParams(roundingParams); /// Logged IN \\\ if (profile != null) { profilePictureView.getProfilEID(); profilePictureView.setProfilEID(profile.getId()); name.setText(profile.getName()); simpleDraweeView.setImageURI(profile.getProfilePictureUri(100,100)); } final SharedPreferences sharedPrefs = getSharedPreferences("details",MODE_PRIVATE); //After referencing your Views,add this. final String nameStr = sharedPrefs.getString("name",null); final String idStr = sharedPrefs.getString("id",null); AccessToken token = AccessToken.getCurrentAccessToken(); if (token != null) { if (nameStr != null) name.setText(nameStr); if (idStr != null) profilePictureView.setProfilEID(idStr); simpleDraweeView.setImageURI(profile.getProfilePictureUri(100,100)); } //.. Do the same for other profile data mobilnummer = (EditText) findViewById(R.id.mobilnummer); buttongps = (Button) findViewById(R.id.gps); buttongps.setOnClickListener(onButtongpsClick); buttonblue = (Button) findViewById(R.id.bluetooth); buttonblue.setOnClickListener(onButtonblueClick); final LOCATIOnManager manager; manager = (LOCATIOnManager) getSystemservice(Context.LOCATION_serviCE); final ImageView gpsImg = (ImageView) findViewById(R.id.gpsstatus); if (manager.isProviderEnabled(LOCATIOnManager.GPS_PROVIDER)) { gpsImg.setImageresource(R.drawable.ok); } else { gpsImg.setImageresource(R.drawable.notok); //not ok } // Register bluettoth listener bluetoothListener = new BluetoothListener() { @Override public void onBluetoothOff() { btImg.setImageresource(R.drawable.notok); //not ok } @Override public void onBluetoothOn() { btImg.setImageresource(R.drawable.ok); } }; IntentFilter filter = new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED); registerReceiver(bluetoothListener,filter); gpsListener = new GPSListener(this) { @Override public void onGPSOff() { gpsImg.setImageresource(R.drawable.notok); //not ok } @Override public void onGPSOn() { gpsImg.setImageresource(R.drawable.ok); } }; // Henter fra SharedPrefs SharedPreferences prefs = getSharedPreferences(PREFS_NAME,MODE_PRIVATE); String savedMobilenumber = prefs.getString("mobilnummer",""); mobilnummer.setText(savedMobilenumber); final ImageView tlfstatus = (ImageView) findViewById(R.id.tlfstatus); if (mobilnummer.getText().toString().length() >= 8) { tlfstatus.setImageresource(R.drawable.ok); } else { tlfstatus.setImageresource(R.drawable.notok); //not ok } // OnCreate ends here. } public View.onClickListener onButtongpsClick = new View.onClickListener() { @Override public void onClick(View v) { Intent gpsOptionsIntent = new Intent(android.provider.SetTings.ACTION_LOCATION_sourcE_SETTinGS); startActivity(gpsOptionsIntent); } }; public View.onClickListener onButtonblueClick = new View.onClickListener() { @Override public void onClick(View v) { BluetoothAdapter mBluetoothAdapter; mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); if (!mBluetoothAdapter.isEnabled()) mBluetoothAdapter.enable(); ImageView img = (ImageView) findViewById(R.id.bluestatus); img.setImageresource(R.drawable.ok); } }; }
Easy Permissions就是其中之一.
以上是大佬教程为你收集整理的Android 6.0“gps”位置提供程序需要ACCESS_FINE_LOCATION权限全部内容,希望文章能够帮你解决Android 6.0“gps”位置提供程序需要ACCESS_FINE_LOCATION权限所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。