@@ -1618,8 +1618,8 @@ private void writeActivityPermissionHandlers(final PrintWriter writer, String[]
16181618 // More on permission in Android 23:
16191619 // https://inthecheesefactory.com/blog/things-you-need-to-know-about-android-m-permission-developer-edition/en
16201620 writer .println (" @Override" );
1621- writer .println (" public void onResume () {" );
1622- writer .println (" super.onResume ();" );
1621+ writer .println (" public void onStart () {" );
1622+ writer .println (" super.onStart ();" );
16231623 writer .println (" ArrayList<String> needed = new ArrayList<String>();" );
16241624 writer .println (" int check;" );
16251625 writer .println (" boolean danger = false;" );
@@ -1654,11 +1654,12 @@ private void writeActivityPermissionHandlers(final PrintWriter writer, String[]
16541654 writer .println (" builder.setMessage(\" The app cannot run without these permissions, will quit now.\" )" );
16551655 writer .println (" .setCancelable(false)" );
16561656 writer .println (" .setPositiveButton(\" OK\" , new DialogInterface.OnClickListener() {" );
1657- writer .println (" public void onClick(DialogInterface dialog, int id) {}" );
1657+ writer .println (" public void onClick(DialogInterface dialog, int id) {" );
1658+ writer .println (" finish();" );
1659+ writer .println (" }" );
16581660 writer .println (" });" );
16591661 writer .println (" AlertDialog alert = builder.create();" );
16601662 writer .println (" alert.show();" );
1661- writer .println (" finishAffinity();" );
16621663 writer .println (" }" );
16631664 writer .println (" }" );
16641665 writer .println (" onPermissionsGranted();" );
@@ -1744,11 +1745,12 @@ private void writeServicePermissionHandlers(final PrintWriter writer, String[] p
17441745 writer .println (" builder.setMessage(\" The app cannot run without these permissions, will quit now.\" )" );
17451746 writer .println (" .setCancelable(false)" );
17461747 writer .println (" .setPositiveButton(\" OK\" , new DialogInterface.OnClickListener() {" );
1747- writer .println (" public void onClick(DialogInterface dialog, int id) {}" );
1748+ writer .println (" public void onClick(DialogInterface dialog, int id) {" );
1749+ writer .println (" stopSelf();" );
1750+ writer .println (" }" );
17481751 writer .println (" });" );
17491752 writer .println (" AlertDialog alert = builder.create();" );
17501753 writer .println (" alert.show();" );
1751- writer .println (" stopSelf();" );
17521754 writer .println (" }" );
17531755 writer .println (" }" );
17541756 writer .println (" onPermissionsGranted();" );
@@ -1766,23 +1768,37 @@ private void writeServicePermissionHandlers(final PrintWriter writer, String[] p
17661768 writer .println (" onRequestPermissionsResult(resultCode, outPermissions, grantResults);" );
17671769 writer .println (" }" );
17681770 writer .println (" };" );
1769- writer .println (" Intent permIntent = new Intent(this, PermissionRequestActivity.class);" );
1770- writer .println (" permIntent.putExtra(KEY_RESULT_RECEIVER, resultReceiver);" );
1771- writer .println (" permIntent.putExtra(KEY_PERMISSIONS, permissions);" );
1772- writer .println (" permIntent.putExtra(KEY_REQUEST_CODE, requestCode);" );
1773- writer .println (" TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);" );
1774- writer .println (" stackBuilder.addNextIntent(permIntent);" );
1775- writer .println (" PendingIntent permPendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);" );
1776- writer .println (" NotificationCompat.Builder builder = new NotificationCompat.Builder(this)" );
1777- writer .println (" .setContentTitle(\" Request\" )" );
1778- writer .println (" .setContentText(\" Permissions\" )" );
1779- writer .println (" .setOngoing(true)" );
1780- writer .println (" .setAutoCancel(true)" );
1781- writer .println (" .setWhen(0)" );
1782- writer .println (" .setContentIntent(permPendingIntent)" );
1783- writer .println (" .setStyle(null);" );
1784- writer .println (" NotificationManager notificationManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);" );
1785- writer .println (" notificationManager.notify(requestCode, builder.build());" );
1771+ writer .println (" final Intent permIntent = new Intent(this, PermissionRequestActivity.class);" );
1772+ writer .println (" permIntent.putExtra(KEY_RESULT_RECEIVER, resultReceiver);" );
1773+ writer .println (" permIntent.putExtra(KEY_PERMISSIONS, permissions);" );
1774+ writer .println (" permIntent.putExtra(KEY_REQUEST_CODE, requestCode);" );
1775+ writer .println (" intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);" );
1776+ // writer.println(" TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);");
1777+ // writer.println(" stackBuilder.addNextIntent(permIntent);");
1778+ // writer.println(" PendingIntent permPendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);");
1779+ // writer.println(" NotificationCompat.Builder builder = new NotificationCompat.Builder(this)");
1780+ // writer.println(" .setSmallIcon(R.drawable.icon)");
1781+ // writer.println(" .setContentTitle(\"Requesting permissions\")");
1782+ // writer.println(" .setContentText(\"The app need permissions to work properly\")");
1783+ // writer.println(" .setOngoing(true)");
1784+ // writer.println(" .setAutoCancel(true)");
1785+ // writer.println(" .setWhen(0)");
1786+ // writer.println(" .setContentIntent(permPendingIntent)");
1787+ // writer.println(" .setStyle(null);");
1788+ // writer.println(" NotificationManager notificationManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);");
1789+ // writer.println(" notificationManager.notify(requestCode, builder.build());");
1790+
1791+ // writer.println(" AlertDialog.Builder builder = new AlertDialog.Builder(this);");
1792+ // writer.println(" builder.setMessage(\"The app needs some permissions to run.\")");
1793+ // writer.println(" .setCancelable(false)");
1794+ // writer.println(" .setPositiveButton(\"OK\", new DialogInterface.OnClickListener() {");
1795+ // writer.println(" public void onClick(DialogInterface dialog, int id) {");
1796+ // writer.println(" startActivity(permIntent);");
1797+ // writer.println(" }");
1798+ // writer.println(" });");
1799+ // writer.println(" AlertDialog alert = builder.create();");
1800+ // writer.println(" alert.show();");
1801+ writer .println (" startActivity(permIntent);" );
17861802 writer .println (" }" );
17871803
17881804 // Activity that triggers the ActivityCompat.requestPermissions() call
0 commit comments