RECORD_AUDIO ile alakalı
7
●106
- 22-10-2022, 15:50:27android stüdyo da webview uygulama yaptım tüm herşeyi halleddim ama mikrafon erişimi veremiyorum yardımcı olabilcek varmıdır
- 22-10-2022, 15:52:55<uses-permission android:name="android.permission.RECORD_AUDIO" />SirinShell adlı üyeden alıntı: mesajı görüntüle
Şunu eklediniz mi? - 22-10-2022, 15:53:46evet hocam ama yinede mikrafon erişimi olmadıgurbuzemre adlı üyeden alıntı: mesajı görüntüle
- 22-10-2022, 15:55:12Bunu ekledikten sonra uygulama içinden izin istemeniz gerekiyor. Hangi sayfada, ne için izin istenildiğini uygulama kendisi bilemez. Native android yazmadığım için bilmiyorum, gerekli kodu araştırıp bulabilirisniz.SirinShell adlı üyeden alıntı: mesajı görüntüle
- 22-10-2022, 15:58:361 haftadır araştırıyorum bi şey bulamadım sitede ses kaydedici var eklenti olarak onun çalışması için ama olmuyor malesefgurbuzemre adlı üyeden alıntı: mesajı görüntüle
- 22-10-2022, 16:08:51Android 6.0 Marshmallow'dan beri, kurulum sırasında uygulamaya herhangi bir izin verilmeyecektir. Bunun yerine uygulama, çalışma zamanında kullanıcıdan birer birer izin istemelidir. Lütfen yukarıda gösterilen izin isteği iletişim kutusunun otomatik olarak başlamayacağını unutmayın. Geliştiricinin manuel olarak araması gerekir. Geliştiricinin, kullanıcının henüz vermediği bir izin gerektiren bir işlevi çağırmaya çalışması durumunda, işlev aniden bir İstisna oluşturarak uygulamanın çökmesine neden olur.
manifestinizde bunu kullanın
<uses-permission android:name="android.permission.RECORD_AUDIO" />
Ardından izin istemek için şunu yapın:
if (ContextCompat.checkSelfPermission(getActivity(), Manifest.permission.RECORD_AUDIO) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.RECORD_AUDIO}, REQUEST_MICROPHONE); }kopyala yapıştır yapmayın mantık yürüterek kodları kullanın webview yaptığınıza göre tek activity kullanmışsınızdır büyük olasılıkla bu sebebten webview çalıştırılan activity yukardaki benzer örnegi kullanabilirsiniz webview yüklenmeden önce hangi izinleri vermen gerektigini ayarlaryıp kullanıcı tarafından onay verildimi activity yüklenmesini sağlayın loadurl dışında kullanın - 22-10-2022, 16:21:22teşekkürler hocam ama tam anlamadığım için yine beceremedim sanırım bu 2. verdiğiniz kodu nereye eklesem uygun olurOmerAti adlı üyeden alıntı: mesajı görüntüle
- 22-10-2022, 16:33:42MainActivity bu kodu ekleyin
import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import androidx.annotation.NonNull; import androidx.core.app.ActivityCompat; import android.Manifest; import android.content.Context; import android.content.pm.PackageManager; import android.view.View; import android.widget.Button; import android.widget.Toast; public class MainActivity extends AppCompatActivity { private String[] PERMISSIONS; private Button urlac; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); urlac = findViewById(R.id.urlac ); PERMISSIONS = new String[] { Manifest.permission.RECORD_AUDIO, }; urlac .setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (!hasPermissions(MainActivity.this,PERMISSIONS)) { ActivityCompat.requestPermissions(MainActivity.this,PERMISSIONS,1); } } }); } private boolean hasPermissions(Context context, String... PERMISSIONS) { if (context != null && PERMISSIONS != null) { for (String permission: PERMISSIONS){ if (ActivityCompat.checkSelfPermission(context,permission) != PackageManager.PERMISSION_GRANTED) { return false; } } } return true; } @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); if (requestCode == 1) { if (grantResults[0] == PackageManager.PERMISSION_GRANTED) { Toast.makeText(this, "Mikrofon İzni verildi", Toast.LENGTH_SHORT).show(); }else { Toast.makeText(this, "Mikrofon İzni reddedildi", Toast.LENGTH_SHORT).show(); } } } }activity_main.xml 1 adet button olmasi gerekmekte ve ismini urlac olarak id verin android:id="@+id/urlac"
gerekli izinleri aldıktan sonra webview devreye sokup url açın
Toast.makeText(this, "Mikrofon İzni verildi", Toast.LENGTH_SHORT).show(); hemen altına webview kodlarınızı yazarak izin onayı geldimi webview sayfa açılır ve webview url yükletin şekillendirmek size kalmış webview içinde bir buton tıklayıp butonu dinleyerek izin vermek size kalmış birşey tamamen hayal gücünüze bağlı
Örnek

