Код: Выделить всё
package com.blackholeofphotography.ble;
import static android.Manifest.permission.BLUETOOTH;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
public class MainActivity extends AppCompatActivity
{
@Override
protected void onCreate (Bundle savedInstanceState)
{
super.onCreate (savedInstanceState);
Log.d ("ble", "onCreate");
EdgeToEdge.enable (this);
setContentView (R.layout.activity_main);
ViewCompat.setOnApplyWindowInsetsListener (findViewById (R.id.main), (v, insets) ->
{
Insets systemBars = insets.getInsets (WindowInsetsCompat.Type.systemBars ());
v.setPadding (systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
return insets;
});
final Button button = findViewById (R.id.button);
button.setOnClickListener (new View.OnClickListener ()
{
@Override
public void onClick (View v)
{
Log.d ("ble", "onClick");
if (ActivityCompat.checkSelfPermission (getApplicationContext (), BLUETOOTH) != PackageManager.PERMISSION_GRANTED)
{
Log.i ("ble", "requestPermissions");
// https://android.googlesource.com/platform/packages/modules/Permission/+/ea7b26fe98c142d0a87d61c3a1c82335ea29c6d2/PermissionController/src/com/android/permissioncontroller/permission/ui/model/GrantPermissionsViewModel.kt
//
ActivityCompat.requestPermissions (MainActivity.this, new String[] { BLUETOOTH }, 0);
}
else
{
Log.i ("ble", "Permission Granted");
}
}
});
}
}
< /code>
android manifest.xml
android:name="${applicationId}.SERVICE_PERMISSION"
android:protectionLevel="signature" />
< /code>
Aactivity_main.xml
< /code>
logcat output < /p>
37ms; Flags=1, IntendedVsync=470552223679335, Vsync=470552690345983, OldestInputEvent=9223372036854775807, NewestInputEvent=0, HandleInputStart=470552703616344, AnimationStart=470552703624417, PerformTraversalsStart=470552703914678, DrawStart=470552864200058, SyncQueued=470552883176102, SyncStart=470552883646050, IssueDrawCommandsStart=470552883719435, SwapBuffers=470553059778359, FrameCompleted=470553061297526, DequeueBufferDuration=166302, QueueBufferDuration=502708, GpuCompleted=-486371034539139072,
2025-04-01 18:44:52.613 10691-10691 ble com.blackholeofphotography.ble D onClick
2025-04-01 18:44:52.613 10691-10691 ble com.blackholeofphotography.ble I requestPermissions
2025-04-01 18:44:52.873 26063-26063 GrantPermi...sViewModel com....android.permissioncontroller E Package com.blackholeofphotography.ble not found
Подробнее здесь: https://stackoverflow.com/questions/795 ... -not-found