本文整理汇总了Java中android.support.v4.app.ActivityCompat.OnRequestPermissionsResultCallback类的典型用法代码示例。如果您正苦于以下问题:Java OnRequestPermissionsResultCallback类的具体用法?Java OnRequestPermissionsResultCallback怎么用?Java OnRequestPermissionsResultCallback使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
OnRequestPermissionsResultCallback类属于android.support.v4.app.ActivityCompat包,在下文中一共展示了OnRequestPermissionsResultCallback类的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: requestPermissions
import android.support.v4.app.ActivityCompat.OnRequestPermissionsResultCallback; //导入依赖的package包/类
/**
* Requests permissions to be granted to this application.
*
* This method is a wrapper around
* {@link android.support.v4.app.ActivityCompat#requestPermissions(android.app.Activity, String[], int)}
* which works in a similar way, except it can be called from non-activity contexts. When called, it
* displays a notification with a customizable title and text. When the user taps the notification, an
* activity is launched in which the user is prompted to allow or deny the request.
*
* After the user has made a choice,
* {@link android.support.v4.app.ActivityCompat.OnRequestPermissionsResultCallback#onRequestPermissionsResult(int, String[], int[])}
* is called, reporting whether the permissions were granted or not.
*
* @param context The context from which the request was made. The context supplied must implement
* {@link android.support.v4.app.ActivityCompat.OnRequestPermissionsResultCallback} and will receive the
* result of the operation.
* @param permissions The requested permissions
* @param requestCode Application specific request code to match with a result reported to
* {@link android.support.v4.app.ActivityCompat.OnRequestPermissionsResultCallback#onRequestPermissionsResult(int, String[], int[])}
* @param notificationTitle The title for the notification
* @param notificationText The text for the notification
* @param notificationIcon Resource identifier for the notification icon
*/
public static <T extends Context & OnRequestPermissionsResultCallback> void requestPermissions(final T context, String[] permissions, int requestCode, String notificationTitle, String notificationText, int notificationIcon) {
ResultReceiver resultReceiver = new ResultReceiver(new Handler(Looper.getMainLooper())) {
@Override
protected void onReceiveResult (int resultCode, Bundle resultData) {
String[] outPermissions = resultData.getStringArray(Const.KEY_PERMISSIONS);
int[] grantResults = resultData.getIntArray(Const.KEY_GRANT_RESULTS);
context.onRequestPermissionsResult(resultCode, outPermissions, grantResults);
}
};
Intent permIntent = new Intent(context, PermissionRequestActivity.class);
permIntent.putExtra(Const.KEY_RESULT_RECEIVER, resultReceiver);
permIntent.putExtra(Const.KEY_PERMISSIONS, permissions);
permIntent.putExtra(Const.KEY_REQUEST_CODE, requestCode);
TaskStackBuilder stackBuilder = TaskStackBuilder.create(context);
stackBuilder.addNextIntent(permIntent);
PendingIntent permPendingIntent =
stackBuilder.getPendingIntent(
0,
PendingIntent.FLAG_UPDATE_CURRENT
);
NotificationCompat.Builder builder = new NotificationCompat.Builder(context)
.setSmallIcon(notificationIcon)
.setContentTitle(notificationTitle)
.setContentText(notificationText)
.setOngoing(true)
//.setCategory(Notification.CATEGORY_STATUS)
.setAutoCancel(true)
.setWhen(0)
.setContentIntent(permPendingIntent)
.setStyle(null);
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(requestCode, builder.build());
}
开发者ID:mvglasow,项目名称:satstat,代码行数:62,代码来源:PermissionHelper.java
注:本文中的android.support.v4.app.ActivityCompat.OnRequestPermissionsResultCallback类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论