public class MainActivity extends AppCompatActivity {
Intent i;
RelativeLayout mainLayout;
@TargetApi(Build.VERSION_CODES.M)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mainLayout=(RelativeLayout)findViewById(R.id.mainLayout);
if(Build.VERSION.SDK_INT>=23 && !Settings.canDrawOverlays(this)){
Intent intent=new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
Uri.parse("package:"+getPackageName())
);
startActivityForResult(intent,0);
}else {
i = new Intent(this, Servizio.class);
startService(i);
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
if(Build.VERSION.SDK_INT>=23) {
if (Settings.canDrawOverlays(this)) {
i = new Intent(this, Servizio.class);
startService(i);
}
}
}
}
Service:
public class Servizio extends Service {
Bitmap bitmap;
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId){
bitmap=BitmapFactory.decodeResource(getResources(),R.drawable.scrofalo);
RoundedImage image=new RoundedImage(this,bitmap,200);
WindowManager windowManager=(WindowManager)getSystemService(WINDOW_SERVICE);
WindowManager.LayoutParams params=new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_PHONE,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT
);
windowManager.addView(image,params);
return START_NOT_STICKY;
}
}
Chiama la classe RoundedImage, che ho creato e messo in una libreria.
Nessun commento:
Posta un commento