คำถามติดแท็ก android-permissions

สิทธิ์ใน AndroidManifest.xml ที่อนุญาตให้แอปดำเนินการบางอย่างที่ไม่ได้รับอนุญาตตามค่าเริ่มต้น

12
ฉันต้องได้รับอนุญาตอะไรบ้างในการเข้าถึงอินเทอร์เน็ตจากแอปพลิเคชัน Android
ฉันได้รับข้อยกเว้นต่อไปนี้ในการเรียกใช้แอพของฉัน: java.net.SocketException: Permission denied (maybe missing INTERNET permission) ฉันจะแก้ไขปัญหาการอนุญาตที่ขาดหายไปได้อย่างไร

11
วิธีการเปิดหน้าจอการอนุญาตโดยทางโปรแกรมสำหรับแอปเฉพาะบน Android Marshmallow
ฉันมีคำถามเกี่ยวกับ Android Marshmallow ใหม่: เป็นไปได้ไหมที่จะแสดงหน้าจอการอนุญาตสำหรับแอพที่ต้องการผ่านทาง Intent หรือสิ่งที่คล้ายกัน เป็นไปได้หรือไม่ที่จะแสดงการตั้งค่าแอพด้วยรหัสต่อไปนี้ - มีระบบอะนาล็อกสำหรับเปิดหน้าจอการอนุญาตโดยตรงหรือไม่? startActivity(new Intent(android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS, Uri.fromParts("package", getPackageName(), null))); ฉันได้ทำการวิจัยเกี่ยวกับเรื่องนี้แล้ว แต่ฉันไม่สามารถหาวิธีแก้ปัญหาที่เหมาะสมได้ - ฉันขอขอบคุณทุกความช่วยเหลือ!

24
Android M - ตรวจสอบการอนุญาตรันไทม์ - วิธีการตรวจสอบว่าผู้ใช้เลือก“ ไม่ต้องถามอีก”
ตามนี้: http://developer.android.com/preview/features/runtime-permissions.html#codingแอปสามารถตรวจสอบสิทธิ์การใช้งานจริงและการขออนุญาตหากยังไม่ได้รับอนุญาต กล่องโต้ตอบต่อไปนี้จะปรากฏขึ้นจากนั้น: ในกรณีที่ผู้ใช้ปฏิเสธการอนุญาตที่สำคัญ imo แอปควรแสดงคำอธิบายว่าทำไมต้องมีการอนุญาตและสิ่งที่มีผลกระทบต่อการลดลง กล่องโต้ตอบนั้นมีสองตัวเลือก: ลองอีกครั้งอีกครั้ง (ขอสิทธิ์อีกครั้ง) ปฏิเสธ (แอปจะทำงานโดยไม่ได้รับอนุญาต) อย่างไรก็ตามหากผู้ใช้ตรวจสอบNever ask againไม่ควรแสดงกล่องโต้ตอบที่สองพร้อมคำอธิบายโดยเฉพาะอย่างยิ่งหากผู้ใช้เคยปฏิเสธมาก่อน ตอนนี้คำถามคือ: แอพของฉันรู้ได้อย่างไรว่าผู้ใช้ได้ตรวจสอบแล้วNever ask again? IMO onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults)ไม่ให้ข้อมูลนั้นแก่ฉัน คำถามที่สองก็คือ: Google มีแผนที่จะรวมข้อความที่กำหนดเองในช่องโต้ตอบการอนุญาตที่จะอธิบายว่าทำไมแอปจำเป็นต้องได้รับอนุญาตหรือไม่ ด้วยวิธีนี้จะไม่มีการสนทนาครั้งที่สองซึ่งแน่นอนว่าจะทำให้ดีขึ้น ux

30
ข้อยกเว้น 'การเปิดล้มเหลว: EACCES (ปฏิเสธการอนุญาต)' บน Android
ฉันได้รับ เปิดล้มเหลว: EACCES (Permission denied) ในบรรทัด OutputStream myOutput = new FileOutputStream(outFileName); android.permission.WRITE_EXTERNAL_STORAGEฉันจะตรวจสอบรากและฉันพยายาม ฉันจะแก้ไขปัญหานี้ได้อย่างไร try { InputStream myInput; myInput = getAssets().open("XXX.db"); // Path to the just created empty db String outFileName = "/data/data/XX/databases/" + "XXX.db"; // Open the empty db as the output stream OutputStream myOutput = new FileOutputStream(outFileName); // Transfer …

24
สิทธิ์ Android M: ไม่ได้เรียก onRequestPermissionsResult ()
ฉันกำลังอัปเดตแอปของเราเพื่อใช้ระบบการอนุญาต M runtime ทุกอย่างทำงานได้ยกเว้น onRequestPermissionsResult () ฉันต้องตรวจสอบการอนุญาตในการกดปุ่มและถ้ามันประสบความสำเร็จส่งข้อความ เมื่อฉันให้สิทธิ์ในการทำไดอะล็อกจะปิดลง แต่ไม่ส่งข้อความจนกว่าจะกดปุ่มอีกครั้ง ฉันได้ทำการดีบั๊กและตั้งจุดพักในเมธอด onRequestPermissionsResult () แต่มันไม่เคยเข้าไป วิธีนี้ถูกเรียกมาก่อน: private void askForPermission() { String[] permissions = new String[]{Manifest.permission.SEND_SMS}; ActivityCompat.requestPermissions(getActivity(), permissions, PERMISSIONS_CODE); } จากนั้นการติดต่อกลับของฉันจะเป็นดังนี้: @Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); if (requestCode == PERMISSIONS_CODE) { for (int i = …

5
การปฏิเสธสิทธิ์: startForeground ต้องใช้ android.permission.FOREGROUND_SERVICE
เมื่อเร็ว ๆ นี้เราได้เห็นร่องรอยสแต็คต่อไปนี้สองสามข้อ ทำไมถึงเป็นเช่นนั้น? สิ่งนี้มาจากเมื่อแอปพลิเคชันพยายามย้ายบริการวิจารณ์เสียงไปยังเบื้องหน้าด้วยการแจ้งเตือนสื่อและทุกสิ่ง java.lang.SecurityException: Permission Denial: startForeground from pid=1824, uid=10479 requires android.permission.FOREGROUND_SERVICE at android.os.Parcel.createException(Parcel.java:1942) at android.os.Parcel.readException(Parcel.java:1910) at android.os.Parcel.readException(Parcel.java:1860) at android.app.IActivityManager$Stub$Proxy.setServiceForeground(IActivityManager.java:5198) at android.app.Service.startForeground(Service.java:695) at com.example.app.services.AudioService.setUpMediaNotification(AudioService.java:372) at com.example.app.services.AudioService.setUpAndStartAudioFeed(AudioService.java:328) at com.example.app.services.AudioService.onStartCommand(AudioService.java:228) at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3667) at android.app.ActivityThread.access$1600(ActivityThread.java:199) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1681) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:6669) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) Caused …

13
การอนุญาตของ Android ไม่ทำงานแม้ว่าฉันจะประกาศแล้วก็ตาม
ฉันกำลังพยายามเขียนรหัสเพื่อส่ง SMS จากแอพ Android แต่เมื่อฉันพยายามส่ง SMS มันจะส่งข้อผิดพลาดกลับมาให้ฉัน: 09-17 18:37:29.974 12847-12847/**.**.****E/AndroidRuntime﹕ FATAL EXCEPTION: main Process: **.**.****, PID: 12847 java.lang.SecurityException: Sending SMS message: uid 10092 does not have android.permission.SEND_SMS. at android.os.Parcel.readException(Parcel.java:1599) at android.os.Parcel.readException(Parcel.java:1552) at com.android.internal.telephony.ISms$Stub$Proxy.sendTextForSubscriber(ISms.java:768) at android.telephony.SmsManager.sendTextMessageInternal(SmsManager.java:310) at android.telephony.SmsManager.sendTextMessage(SmsManager.java:293) at **.**.****.MainActivity$3.onClick(MainActivity.java:70) at android.view.View.performClick(View.java:5198) at android.view.View$PerformClick.run(View.java:21147) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:148) at …

24
Android ขออนุญาต Marshmallow?
ฉันกำลังทำงานกับแอปพลิเคชันที่ต้องได้รับการอนุญาต "อันตราย" หลายอย่าง ดังนั้นฉันจึงลองเพิ่ม "ขออนุญาต" ตามต้องการใน Android Marshmallow (ระดับ API 23) แต่ไม่สามารถหาวิธีทำได้ ฉันจะขออนุญาตใช้รูปแบบการอนุญาตใหม่ในแอพของฉันได้อย่างไร

22
สิทธิ์ Android หลายสิทธิ์
ฉันรู้ว่า Android 6.0 มีสิทธิ์ใหม่และฉันรู้ว่าฉันสามารถโทรหาพวกเขาด้วยสิ่งนี้ if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this, new String[] { Manifest.permission.WRITE_EXTERNAL_STORAGE }, PERMISSION_WRITE_STORAGE); } วันนี้ฉันเห็นแอป Google ที่ต้องการการอนุญาต 3 รายการ: รายชื่อติดต่อ sms และกล้อง มันกำลังสร้างหน้า 1-3 และเรียกพวกมันทั้งหมดเข้าด้วยกันในเวลาเดียวกันเพื่อเปิดใช้งาน ใครสามารถบอกฉันได้ว่าฉันสามารถโทร 4 สิทธิ์เพื่อเปิดใช้งานในเวลาเดียวกันเช่น SMS, กล้อง, รายชื่อและที่เก็บข้อมูล? ตัวอย่าง (ลืมชื่อแอพ google :() แอพนี้ต้องการ SMS รายชื่อติดต่อและกล้อง แอพถามฉัน (และทำหน้าไดอะล็อก 1-3) เปิดใช้งาน SMS เปิดใช้งานผู้ติดต่อแล้วกล้อง ดังนั้นแอป Google …

10
วิธีการตรวจจับสายเรียกเข้าในอุปกรณ์ Android?
ฉันกำลังพยายามสร้างแอพเช่นเมื่อมีสายเข้ามาในโทรศัพท์ฉันต้องการตรวจจับหมายเลข ด้านล่างเป็นสิ่งที่ฉันพยายาม แต่ไม่พบสายเรียกเข้า ฉันต้องการเรียกใช้เป็นMainActivityพื้นหลังฉันจะทำอย่างไร ฉันได้รับอนุญาตในmanifestไฟล์ <uses-permission android:name="android.permission.READ_PHONE_STATE"/> มีอะไรอีกบ้างที่ฉันควรให้ในรายการ? public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.test_layout); } public class myPhoneStateChangeListener extends PhoneStateListener { @Override public void onCallStateChanged(int state, String incomingNumber) { super.onCallStateChanged(state, incomingNumber); if (state == TelephonyManager.CALL_STATE_RINGING) { String phoneNumber = incomingNumber; } } …

5
วิธีขอสิทธิ์จากบริการใน Android Marshmallow
ใน Android Marshmallow ควรขอสิทธิ์ในรันไทม์เมื่อจำเป็นแทนที่จะต้องใช้ทั้งหมดพร้อมกันเมื่อติดตั้งแอป อย่างไรก็ตามดูเหมือนว่าฉันสามารถขอสิทธิ์จากกิจกรรมได้เท่านั้นซึ่งเป็นปัญหาเนื่องจากแอปของฉันมีเพียงบริการเท่านั้น (ทำไมถึงถามอย่างนั้นแอปนี้มีหน้าปัดนาฬิกา Android Wear ที่รวมอยู่ภายในและโทรศัพท์ทั้งหมดจะค้นหารูปภาพในบริเวณใกล้เคียงเพื่อส่งไปยังนาฬิกาโดยไม่จำเป็นต้องทำกิจกรรมใด ๆ แต่ต้องมีการอนุญาตตำแหน่ง) มีวิธีใดบ้างในการขอสิทธิ์จากบริการ? หรือบังคับให้อนุญาตในเวลาติดตั้งเหมือนในอดีตหรือไม่

9
วิธีตรวจสอบสิทธิ์ในส่วนย่อย
ฉันต้องการตรวจสอบการอนุญาตภายในส่วน รหัสของฉัน: // Here, thisActivity is the current activity if (ContextCompat.checkSelfPermission(getActivity(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) { // Should we show an explanation? if (ActivityCompat.shouldShowRequestPermissionRationale(getActivity(), android.Manifest.permission.ACCESS_FINE_LOCATION)) { // Show an explanation to the user *asynchronously* -- don't block // this thread waiting for the user's response! After the user // sees the …

2
ถ้าฉันมี ACCESS_FINE_LOCATION อยู่แล้วฉันสามารถละ ACCESS_COARSE_LOCATION ได้หรือไม่
ฉันมีแอปพลิเคจีพีเอสที่มีอยู่แล้วขอACCESS_FINE_LOCATIONได้รับอนุญาตอย่างชัดแจ้งในตอนนี้ฉันต้องการเพิ่มห้องสมุด (MoPub) ACCESS_COARSE_LOCATIONที่ต้องใช้ ฉันถูกต้องหรือไม่โดยถือว่าACCESS_FINE_LOCATIONเพียงพอแล้วและฉันสามารถละทิ้งACCESS_COARSE_LOCATIONรายการของฉันได้หรือไม่?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.