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