Kişisel Sayfaları
İlgi Alanları
İş Tecrubesi
Eğitim Geçmişi
Sertifikalar & Başarılar
Kullanıcıya ait test sonucu bulunmamaktadır.
Dil Becerileri
Son Forum Aktiviteleri
16androidde uygulama destroy edilse bile arkaplanda çalışan mediaplayer
androidde uygulama destroy edilse bile arkaplanda mediaplayer çalmasını istiyorum. uygulama arkaplanda çalışıyor ve bildirim üzerinden play pause işlemleri yapılabiliyor fakat destroy edilince kapanıyor arkaplanda çalısmıyor. bunun için ne yapabilirim
ikinci sorum ise geri tuşuna bastığım anda müzik çalmaya devam ediyor ve telefonun ana ekranına dönüyor geçmiş uygulamalardan tekrar açtığımda ise çalan müzik main activityde duruyor gibi görünüyor aslında pause tuşu görünmesi gerekirken play tuşu görünüyor ve playe bastığımda müzik 2. kez çalmaya başlıyor yani aynı 2 müzik üst üste biniyor. kısacası geri tuşuna bastığımda müzik durmuyor fakat buttonlarımın play ve pause işlevi 1 adım geri gidiyor.
public class MainActivity extends AppCompatActivity implements Playable{
ImageButton playButton;
ImageButton closeButton;
String Stream= "http://stream.radioreklama.bg:80/radio1rock128";
MediaPlayer mediaPlayer;
NotificationManager notificationManager;
List<Track> tracks;
Boolean prepared=false;
Boolean started=false;
int position=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
playButton= (ImageButton) findViewById(R.id.playButton);
playButton.setImageResource(R.drawable.play);
playButton.setEnabled(false);
mediaPlayer=new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
new PlayerTask().execute(Stream);
populateTracks();
//Notification denemesi..
if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.O){
createChannel();
registerReceiver(broadcastReceiver,new IntentFilter("TRACKS_TRACKS"));
startService(new Intent(getBaseContext(), OnClearFromRecentService.class));
}
playButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//CreateNotification.createNotification(MainActivity.this,tracks.get(1), R.drawable.pause,1,tracks.size() -1);
//mediaPlayer.start();
if (!mediaPlayer.isPlaying()){
// mediaPlayer.pause();
//playButton.setBackgroundResource(R.drawable.play);
startService(new Intent(MainActivity.this, OnClearFromRecentService.class));
onNPlay();
}else {
// mediaPlayer.start();
//playButton.setBackgroundResource(R.drawable.pause);
onNPause();
stopService(new Intent(MainActivity.this, OnClearFromRecentService.class));
}
}
});
}
private void createChannel() {
if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.O){
NotificationChannel channel=new NotificationChannel(CreateNotification.CHANNEL_ID,
"denela",NotificationManager.IMPORTANCE_LOW);
notificationManager=getSystemService(NotificationManager.class);
if(notificationManager!=null){
notificationManager.createNotificationChannel(channel);
}
}
}
private void populateTracks(){
tracks=new ArrayList<>();
tracks.add(new Track("Radio Feelo","Live is in spiker",R.drawable.radyoamblem));
tracks.add(new Track("Radio Feelo","Live is in spiker",R.drawable.radyoamblem));
}
class PlayerTask extends AsyncTask<String, Void, Boolean> {
@Override
protected Boolean doInBackground(String... strings) {
try {
mediaPlayer.setDataSource(strings[0]);
mediaPlayer.prepare();
prepared=true;
}catch(IOException e) {
e.printStackTrace();
}
return prepared;
}
@Override
protected void onPostExecute(Boolean aBoolean) {
super.onPostExecute(aBoolean);
playButton.setEnabled(true);
}
}
BroadcastReceiver broadcastReceiver=new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action =intent.getExtras().getString("actionname");
switch (action){
case CreateNotification.ACTION_PLAY:
if (mediaPlayer.isPlaying()){
onNPause();
}else {
onNPlay();
}
break;
case CreateNotification.ACTION_CLOSE:
onNClose();
break;
}
}
};
@Override
public void onNPlay() {
mediaPlayer.start();
//started=true;
CreateNotification.createNotification(MainActivity.this, tracks.get(position),
R.drawable.pause,position,tracks.size()-1);
playButton.setImageResource(R.drawable.pause);
if(!mediaPlayer.isPlaying())
playButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mediaPlayer.start();
started=true;
}
});
}
@Override
public void onNPause() {
mediaPlayer.pause();
//started=false;
CreateNotification.createNotification(MainActivity.this, tracks.get(position),
R.drawable.play,position,tracks.size()-1);
playButton.setImageResource(R.drawable.play);
if(mediaPlayer.isPlaying())
playButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mediaPlayer.pause();
started=false;
}
});
}
@Override
public void onNClose() {
//mediaPlayer.release();
CreateNotification.createNotification(MainActivity.this, tracks.get(position),
R.drawable.close,position,tracks.size()-1);
notificationManager.cancelAll();
mediaPlayer.release();
unregisterReceiver(broadcastReceiver);
this.finish();
}
@Override
protected void onResume() {
super.onResume();
/*
if(started){
mediaPlayer.start();
}
*/
}
@Override
protected void onDestroy() {
super.onDestroy();
if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.O){
notificationManager.cancelAll();
}
/*
if(prepared){
mediaPlayer.release();
}
if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.O){
notificationManager.cancelAll();
}
unregisterReceiver(broadcastReceiver);
*/
}
androidde uygulama destroy edilse bile arkaplanda çalışan mediaplayer
androidde uygulama destroy edilse bile arkaplanda mediaplayer çalmasını istiyorum. uygulama arkaplanda çalışıyor ve bildirim üzerinden play pause işlemleri yapılabiliyor fakat destroy edilince kapanıyor arkaplanda çalısmıyor. bunun için ne yapabilirim
ikinci sorum ise geri tuşuna bastığım anda müzik çalmaya devam ediyor ve telefonun ana ekranına dönüyor geçmiş uygulamalardan tekrar açtığımda ise çalan müzik main activityde duruyor gibi görünüyor aslında pause tuşu görünmesi gerekirken play tuşu görünüyor ve playe bastığımda müzik 2. kez çalmaya başlıyor yani aynı 2 müzik üst üste biniyor. kısacası geri tuşuna bastığımda müzik durmuyor fakat buttonlarımın play ve pause işlevi 1 adım geri gidiyor.
public class MainActivity extends AppCompatActivity implements Playable{
ImageButton playButton;
ImageButton closeButton;
String Stream= "http://stream.radioreklama.bg:80/radio1rock128";
MediaPlayer mediaPlayer;
NotificationManager notificationManager;
List<Track> tracks;
Boolean prepared=false;
Boolean started=false;
int position=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
playButton= (ImageButton) findViewById(R.id.playButton);
playButton.setImageResource(R.drawable.play);
playButton.setEnabled(false);
mediaPlayer=new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
new PlayerTask().execute(Stream);
populateTracks();
//Notification denemesi..
if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.O){
createChannel();
registerReceiver(broadcastReceiver,new IntentFilter("TRACKS_TRACKS"));
startService(new Intent(getBaseContext(), OnClearFromRecentService.class));
}
playButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//CreateNotification.createNotification(MainActivity.this,tracks.get(1), R.drawable.pause,1,tracks.size() -1);
//mediaPlayer.start();
if (!mediaPlayer.isPlaying()){
// mediaPlayer.pause();
//playButton.setBackgroundResource(R.drawable.play);
startService(new Intent(MainActivity.this, OnClearFromRecentService.class));
onNPlay();
}else {
// mediaPlayer.start();
//playButton.setBackgroundResource(R.drawable.pause);
onNPause();
stopService(new Intent(MainActivity.this, OnClearFromRecentService.class));
}
}
});
}
private void createChannel() {
if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.O){
NotificationChannel channel=new NotificationChannel(CreateNotification.CHANNEL_ID,
"denela",NotificationManager.IMPORTANCE_LOW);
notificationManager=getSystemService(NotificationManager.class);
if(notificationManager!=null){
notificationManager.createNotificationChannel(channel);
}
}
}
private void populateTracks(){
tracks=new ArrayList<>();
tracks.add(new Track("Radio Feelo","Live is in spiker",R.drawable.radyoamblem));
tracks.add(new Track("Radio Feelo","Live is in spiker",R.drawable.radyoamblem));
}
class PlayerTask extends AsyncTask<String, Void, Boolean> {
@Override
protected Boolean doInBackground(String... strings) {
try {
mediaPlayer.setDataSource(strings[0]);
mediaPlayer.prepare();
prepared=true;
}catch(IOException e) {
e.printStackTrace();
}
return prepared;
}
@Override
protected void onPostExecute(Boolean aBoolean) {
super.onPostExecute(aBoolean);
playButton.setEnabled(true);
}
}
BroadcastReceiver broadcastReceiver=new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action =intent.getExtras().getString("actionname");
switch (action){
case CreateNotification.ACTION_PLAY:
if (mediaPlayer.isPlaying()){
onNPause();
}else {
onNPlay();
}
break;
case CreateNotification.ACTION_CLOSE:
onNClose();
break;
}
}
};
@Override
public void onNPlay() {
mediaPlayer.start();
//started=true;
CreateNotification.createNotification(MainActivity.this, tracks.get(position),
R.drawable.pause,position,tracks.size()-1);
playButton.setImageResource(R.drawable.pause);
if(!mediaPlayer.isPlaying())
playButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mediaPlayer.start();
started=true;
}
});
}
@Override
public void onNPause() {
mediaPlayer.pause();
//started=false;
CreateNotification.createNotification(MainActivity.this, tracks.get(position),
R.drawable.play,position,tracks.size()-1);
playButton.setImageResource(R.drawable.play);
if(mediaPlayer.isPlaying())
playButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mediaPlayer.pause();
started=false;
}
});
}
@Override
public void onNClose() {
//mediaPlayer.release();
CreateNotification.createNotification(MainActivity.this, tracks.get(position),
R.drawable.close,position,tracks.size()-1);
notificationManager.cancelAll();
mediaPlayer.release();
unregisterReceiver(broadcastReceiver);
this.finish();
}
@Override
protected void onResume() {
super.onResume();
/*
if(started){
mediaPlayer.start();
}
*/
}
@Override
protected void onDestroy() {
super.onDestroy();
if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.O){
notificationManager.cancelAll();
}
/*
if(prepared){
mediaPlayer.release();
}
if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.O){
notificationManager.cancelAll();
}
unregisterReceiver(broadcastReceiver);
*/
}
androidde uygulama destroy edilse bile arkaplanda çalışan mediaplayer
androidde uygulama destroy edilse bile arkaplanda mediaplayer çalmasını istiyorum. uygulama arkaplanda çalışıyor ve bildirim üzerinden play pause işlemleri yapılabiliyor fakat destroy edilince kapanıyor arkaplanda çalısmıyor. bunun için ne yapabilirim
ikinci sorum ise geri tuşuna bastığım anda müzik çalmaya devam ediyor ve telefonun ana ekranına dönüyor geçmiş uygulamalardan tekrar açtığımda ise çalan müzik main activityde duruyor gibi görünüyor aslında pause tuşu görünmesi gerekirken play tuşu görünüyor ve playe bastığımda müzik 2. kez çalmaya başlıyor yani aynı 2 müzik üst üste biniyor. kısacası geri tuşuna bastığımda müzik durmuyor fakat buttonlarımın play ve pause işlevi 1 adım geri gidiyor.
public class MainActivity extends AppCompatActivity implements Playable{
ImageButton playButton;
ImageButton closeButton;
String Stream= "http://stream.radioreklama.bg:80/radio1rock128";
MediaPlayer mediaPlayer;
NotificationManager notificationManager;
List<Track> tracks;
Boolean prepared=false;
Boolean started=false;
int position=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
playButton= (ImageButton) findViewById(R.id.playButton);
playButton.setImageResource(R.drawable.play);
playButton.setEnabled(false);
mediaPlayer=new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
new PlayerTask().execute(Stream);
populateTracks();
//Notification denemesi..
if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.O){
createChannel();
registerReceiver(broadcastReceiver,new IntentFilter("TRACKS_TRACKS"));
startService(new Intent(getBaseContext(), OnClearFromRecentService.class));
}
playButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//CreateNotification.createNotification(MainActivity.this,tracks.get(1), R.drawable.pause,1,tracks.size() -1);
//mediaPlayer.start();
if (!mediaPlayer.isPlaying()){
// mediaPlayer.pause();
//playButton.setBackgroundResource(R.drawable.play);
startService(new Intent(MainActivity.this, OnClearFromRecentService.class));
onNPlay();
}else {
// mediaPlayer.start();
//playButton.setBackgroundResource(R.drawable.pause);
onNPause();
stopService(new Intent(MainActivity.this, OnClearFromRecentService.class));
}
}
});
}
private void createChannel() {
if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.O){
NotificationChannel channel=new NotificationChannel(CreateNotification.CHANNEL_ID,
"denela",NotificationManager.IMPORTANCE_LOW);
notificationManager=getSystemService(NotificationManager.class);
if(notificationManager!=null){
notificationManager.createNotificationChannel(channel);
}
}
}
private void populateTracks(){
tracks=new ArrayList<>();
tracks.add(new Track("Radio Feelo","Live is in spiker",R.drawable.radyoamblem));
tracks.add(new Track("Radio Feelo","Live is in spiker",R.drawable.radyoamblem));
}
class PlayerTask extends AsyncTask<String, Void, Boolean> {
@Override
protected Boolean doInBackground(String... strings) {
try {
mediaPlayer.setDataSource(strings[0]);
mediaPlayer.prepare();
prepared=true;
}catch(IOException e) {
e.printStackTrace();
}
return prepared;
}
@Override
protected void onPostExecute(Boolean aBoolean) {
super.onPostExecute(aBoolean);
playButton.setEnabled(true);
}
}
BroadcastReceiver broadcastReceiver=new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action =intent.getExtras().getString("actionname");
switch (action){
case CreateNotification.ACTION_PLAY:
if (mediaPlayer.isPlaying()){
onNPause();
}else {
onNPlay();
}
break;
case CreateNotification.ACTION_CLOSE:
onNClose();
break;
}
}
};
@Override
public void onNPlay() {
mediaPlayer.start();
//started=true;
CreateNotification.createNotification(MainActivity.this, tracks.get(position),
R.drawable.pause,position,tracks.size()-1);
playButton.setImageResource(R.drawable.pause);
if(!mediaPlayer.isPlaying())
playButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mediaPlayer.start();
started=true;
}
});
}
@Override
public void onNPause() {
mediaPlayer.pause();
//started=false;
CreateNotification.createNotification(MainActivity.this, tracks.get(position),
R.drawable.play,position,tracks.size()-1);
playButton.setImageResource(R.drawable.play);
if(mediaPlayer.isPlaying())
playButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mediaPlayer.pause();
started=false;
}
});
}
@Override
public void onNClose() {
//mediaPlayer.release();
CreateNotification.createNotification(MainActivity.this, tracks.get(position),
R.drawable.close,position,tracks.size()-1);
notificationManager.cancelAll();
mediaPlayer.release();
unregisterReceiver(broadcastReceiver);
this.finish();
}
@Override
protected void onResume() {
super.onResume();
/*
if(started){
mediaPlayer.start();
}
*/
}
@Override
protected void onDestroy() {
super.onDestroy();
if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.O){
notificationManager.cancelAll();
}
/*
if(prepared){
mediaPlayer.release();
}
if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.O){
notificationManager.cancelAll();
}
unregisterReceiver(broadcastReceiver);
*/
}
Siteme Adblock kapatan eklenti eklersem?
Biliyosunuz ki webde adblock kullanıcısı oldukça fazla ve bizim gelir kaynağımız da reklamlar merak ettiğim şeyler;
1) Eğer adblock kapatma eklentisini web sitemde kullanırsam Adsense'den banlanır mıyım?
2) Eğer adblock kapatma eklentisini web sitemde kullanırsam kullanıcıda nasıl bir etkisi olur web sitem kaliteli ve pek eşi olmayan bir site yani bir konuyu arayanın, aradığını bulduğu bir site. kullanıcı kaybı yaşar mıyım?
3)adblock engelledikten sonra kazançlarımda artış mı olur yoksa azalış mı gösterir?
4)Google da aramalarda yukarda çıkmama etki eder mi?
şimdiden tesekkür ederim.
Cannot recover key sorunu
Merhabalar.
Uygulamamı daha önceden aynı key ile imzalayıp güncelleme yapmıştım fakat şuan tekrar güncellemek için imzalı apk çıkarmaya çalıştığımda
event log da:
Generate Signed APK: Errors while building APK. You can find the errors in the 'Messages' view.
mesaj bölümündeyse :
Cannot Recover Key
diye bir hata çıkıyor. Şifre hatası olmadığını düşünüyorum çünkü farklı bir şifre girdiğimde şifre yanlış tarzında bir hata alıyorum. Sizce sorun nedir nasıl düzeltebilirim?
androidde uygulama destroy edilse bile arkaplanda çalışan mediaplayer
Bu arada 2. soruya çözüm arayan arkadaşlar için çözümü buldum ve paylaşmak istedim.
@Override
public void onBackPressed()
{ Intent a = new Intent(Intent.ACTION_MAIN);
a.addCategory(Intent.CATEGORY_HOME);
a.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(a); }
uygulamayı bu kod sayesinde telefon ana ekranına yoluuyoruz.
Speech to text (extra promptu okuma)
yanlıs anlamadıysam bir textviewdaki texti okutmaya çalışıyosunuz. text to speech komutunu kullanabilirsiniz. https://www.youtube.com/watch?v=DoYnz0GYN1w
bu tutorial yardımcı olabilir
İşlem sırası ayarlama
ifleri iç içe yazarsanız birinci sağlanmazsa 2. intent de çalışmaz. birinci saglandıktan sonra 2. if içerisi çalışır
Android seslendirme aksanı
Bildiğim kadarıyla Türkçe seslendirme desteklenmiyor. Eğer telefonunuzun ayarlar>genel yönetim>dil ve giriş>metinden-sese kısmındaki tercihli tts motorunu google olarak ayarlarsanız Türkçe aksanını kullanabilirsiniz.
Admob reklamlarım gözükmemeye başladı
aynı sorun bendede var fakat sadece ödüllü reklamda sorun var. O da açılıyor fakat video izlenmeden bitişe geliyor dolayısıyla ödül kazandırmıyor. çözümü buldunuz mu?
EDİT: Sorun emülatördeymiş telefona yükleyince sorunsuz çalışıyor. Sizdede aynı sorun olabilir deneyin isterseniz.