下面列出了android.content.Intent#putExtra ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getBooleanExtra(App.BROADCAST_POEM_CREATION_RESULT, false)) {
Crashlytics.log("PoemBuilder: poem saved, receiver called");
Toast.makeText(getApplicationContext(),
getResources().getString(R.string.toast_poem_created), Toast.LENGTH_SHORT)
.show();
final Intent i = new Intent(getApplicationContext(), PoemHistoryActivity.class);
i.putExtra(ThemeChooserActivity.IS_NEW_POEM, true);
startActivity(i);
} else {
Crashlytics.log("PoemBuilder: error when saving poem");
Toast.makeText(getApplicationContext(),
getResources().getString(R.string.toast_poem_error), Toast.LENGTH_SHORT)
.show();
finish();
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 0x123 && resultCode == RESULT_OK) {
hasResult = true;
Intent intent = new Intent();
intent.putExtra("fileCachePath", fileCachePath);
setResult(RESULT_OK, intent);
new File(fileCachePath).delete();
handler.postDelayed(new Runnable() {
@Override
public void run() {
finish();
}
}, 250);
}
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Cursor c = (Cursor) mAdapter.getItem(position);
String status = c.getString(c.getColumnIndex(Comment.status));
Intent intent = new Intent(getActivity(), TweetActivity.class);
intent.putExtra(Constants.JSON, status);
startActivity(intent);
}
@Override
protected Intent getActivityIntent() {
Context targetContext = getInstrumentation()
.getTargetContext();
Intent result = new Intent(targetContext, TemplateEditor.class);
result.putExtra(Constants.TEMPLATE_ID, 5);
return result;
}
private void startViewerActivity(View itemView, int position) {
Intent intent = new Intent(MainActivity.this, ViewerActivity.class);
intent.putExtra("index", position);
ActivityOptionsCompat options = ActivityOptionsCompat
.makeSceneTransitionAnimation(this, itemView, adapter.get(position).url);
startActivity(intent, options.toBundle());
}
public static void startActivityForAOP(Context context,
String email) {
Intent intent = new Intent(context, LoginActivity.class);
if (!TextUtils.isEmpty(email)) {
intent.putExtra(TyConfig.EMAIL, email);
}
intent.putExtra(FROM, AOP);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
}
/**
* Starts a new Preferences activity showing the desired fragment.
*
* @param fragmentClass The Class of the fragment to show.
* @param args Arguments to pass to Fragment.instantiate(), or null.
*/
public void startFragment(String fragmentClass, Bundle args) {
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setClass(this, getClass());
intent.putExtra(EXTRA_SHOW_FRAGMENT, fragmentClass);
intent.putExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS, args);
startActivity(intent);
}
@Override
public void onReceive(Context context, Intent intent) {
Log.v(TAG, "Recurring alarm");
// get data
String familyName = intent.getStringExtra("familyName");
String deviceName = intent.getStringExtra("deviceName");
String locationName = intent.getStringExtra("locationName");
String serverAddress = intent.getStringExtra("serverAddress");
boolean allowGPS = intent.getBooleanExtra("allowGPS",false);
Log.d(TAG,"familyName: "+ familyName);
PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
wakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK |
PowerManager.ACQUIRE_CAUSES_WAKEUP |
PowerManager.ON_AFTER_RELEASE, "WakeLock");
wakeLock.acquire();
Intent scanService = new Intent(context, ScanService.class);
scanService.putExtra("familyName",familyName);
scanService.putExtra("deviceName",deviceName);
scanService.putExtra("locationName",locationName);
scanService.putExtra("serverAddress",serverAddress);
scanService.putExtra("allowGPS",allowGPS);
try {
context.startService(scanService);
} catch (Exception e) {
Log.w(TAG,e.toString());
}
Log.d(TAG,"Releasing wakelock");
if (wakeLock != null) wakeLock.release();
wakeLock = null;
}
public static void luanchUserItems(Activity activity, User user, int type) {
Intent intent = new Intent(activity, UserItemsActivity.class);
intent.putExtra(UiUtils.ARG_USER, user);
intent.putExtra(UiUtils.ARG_TYPE, type);
activity.startActivity(intent);
}
@Override
public void onReceive(Context context, Intent intent) {
String url = intent.getDataString();
if (url != null) {
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("text/plain");
shareIntent.putExtra(Intent.EXTRA_TEXT, url);
Intent chooserIntent = Intent.createChooser(shareIntent, "Share url");
chooserIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(chooserIntent);
}
}
void startPhotoTaker() {
int permissionCheck = ContextCompat.checkSelfPermission(this,
Manifest.permission.CAMERA);
if (permissionCheck ==PackageManager.PERMISSION_DENIED)
{
// Should we show an explanation?
if (ActivityCompat.shouldShowRequestPermissionRationale(this,
Manifest.permission.CAMERA)) {
View view = findViewById(R.id.gallery_fragment);
// Show an expanation to the user *asynchronously* -- don't block
// this thread waiting for the user's response! After the user
// sees the explanation, try again to request the permission.
Snackbar.make(view, R.string.grant_perms, Snackbar.LENGTH_LONG).show();
} else {
// No explanation needed, we can request the permission.
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.CAMERA},
MY_PERMISSIONS_REQUEST_CAMERA);
// MY_PERMISSIONS_REQUEST_READ_CONTACTS is an
// app-defined int constant. The callback method gets the
// result of the request.
}
}
else {
Intent intent = new Intent(this, CameraActivity.class);
intent.putExtra(CameraActivity.SETTING_ONE_AND_DONE,false);
startActivityForResult(intent, ConversationDetailActivity.REQUEST_TAKE_PICTURE);
}
}
public void restoreAccess(Context context, String filePath) {
if (context != null) {
boolean rootIsAvailable = new PrefManager(context).getBoolPref("rootIsAvailable");
if (!rootIsAvailable) {
return;
}
IntentFilter intentFilterBckgIntSer = new IntentFilter(RootExecService.COMMAND_RESULT);
LocalBroadcastManager.getInstance(context).registerReceiver(br, intentFilterBckgIntSer);
String appUID = new PrefManager(context).getStrPref("appUID");
PathVars pathVars = PathVars.getInstance(context);
String[] commands = {
pathVars.getBusyboxPath()+ "chown -R " + appUID + "." + appUID + " " + filePath + " 2> /dev/null",
"restorecon " + filePath + " 2> /dev/null",
pathVars.getBusyboxPath() + "sleep 1 2> /dev/null"
};
RootCommands rootCommands = new RootCommands(commands);
Intent intent = new Intent(context, RootExecService.class);
intent.setAction(RootExecService.RUN_COMMAND);
intent.putExtra("Commands", rootCommands);
intent.putExtra("Mark", RootExecService.FileOperationsMark);
RootExecService.performAction(context, intent);
waitRestoreAccessWithRoot();
}
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.settiing:
Intent intent = new Intent(mContext, SettingActivity.class);
startActivity(intent);
break;
case R.id.sync:
if (mEvernote.isLogin() == false) {
mEvernote.auth();
} else {
mEvernote.sync(true, true, new SyncHandler());
}
break;
case R.id.feedback:
Intent Email = new Intent(Intent.ACTION_SEND);
Email.setType("text/email");
Email.putExtra(Intent.EXTRA_EMAIL,
new String[] { getString(R.string.team_email) });
Email.putExtra(Intent.EXTRA_SUBJECT, getString(R.string.feedback));
Email.putExtra(Intent.EXTRA_TEXT, getString(R.string.email_title));
startActivity(Intent.createChooser(Email,
getString(R.string.email_chooser)));
break;
default:
break;
}
return false;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
Intent intent = new Intent();
if ("friend".equals(chatType)) {
//跳转到好友个人资料页面
intent.setClass(ChatActivity.this, UserProfileActivity.class);
} else {
//跳转到群组资料页面
intent.setClass(ChatActivity.this, GroupProfileActivity.class);
}
intent.putExtra("id", chatId);
startActivity(intent);
return super.onOptionsItemSelected(item);
}
static Intent getIntentCaptureCompat(Context context, File file) {
Intent mIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
Uri mUri = getUriFromFile(context, file);
mIntent.addCategory(Intent.CATEGORY_DEFAULT);
mIntent.putExtra(MediaStore.EXTRA_OUTPUT, mUri);
return mIntent;
}
public void fireIntentHandled(Intent original, Exception e) {
Intent intent = new Intent();
intent.setAction(PjActions.EVENT_HANDLED);
intent.putExtra("callback_id", original.getIntExtra("callback_id", -1));
intent.putExtra("exception", e.getMessage());
context.sendBroadcast(intent);
}
public static void goToGenre(@NonNull final Activity activity, final Genre genre, @Nullable Pair... sharedElements) {
final Intent intent = new Intent(activity, GenreDetailActivity.class);
intent.putExtra(GenreDetailActivity.EXTRA_GENRE, genre);
activity.startActivity(intent);
}
/**
* リクエストデータを使ってアクセストークン発行承認確認画面を起動する.
* @param request リクエストデータ
*/
public void startConfirmAuthActivity(final ConfirmAuthRequest request) {
if (request == null) {
return;
}
android.content.Context context = request.getConfirmAuthParams().getContext();
String[] displayScopes = request.getDisplayScopes();
ConfirmAuthParams params = request.getConfirmAuthParams();
// Activity起動(許可・拒否の結果は、ApprovalHandlerへ送られる)
// 詳細ボタン押下時のIntent
Intent detailIntent = new Intent();
putExtras(context, request, displayScopes, detailIntent);
detailIntent.setClass(params.getContext(), ConfirmAuthActivity.class);
detailIntent.setFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
// 許可ボタン押下時のIntent
Intent acceptIntent = new Intent();
putExtras(context, request, displayScopes, acceptIntent);
acceptIntent.setAction(ACTION_OAUTH_ACCEPT);
acceptIntent.putExtra(EXTRA_APPROVAL, true);
// 拒否ボタン押下時のIntent
Intent declineIntent = new Intent();
putExtras(context, request, displayScopes, declineIntent);
declineIntent.setAction(ACTION_OAUTH_DECLINE);
declineIntent.putExtra(EXTRA_APPROVAL, false);
if(Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
context.startActivity(detailIntent);
request.startTimer(new ConfirmAuthRequest.OnTimeoutCallback() {
@Override
public void onTimeout() {
processApproval(request.getThreadId(), false);
}
});
} else {
//許可するボタン押下時のAction
Notification.Action acceptAction = new Notification.Action.Builder(null,
ACCEPT_BUTTON_TITLE,
PendingIntent.getBroadcast(context, 1, acceptIntent, PendingIntent.FLAG_UPDATE_CURRENT)).build();
//拒否するボタン押下時のAction
Notification.Action declineAction = new Notification.Action.Builder(null,
DECLINE_BUTTON_TITLE,
PendingIntent.getBroadcast(context, 2, declineIntent, PendingIntent.FLAG_UPDATE_CURRENT)).build();
//詳細を表示ボタン押下時のAction
Notification.Action detailAction = new Notification.Action.Builder(null,
DETAIL_BUTTON_TITLE,
PendingIntent.getActivity(context, 3, detailIntent, PendingIntent.FLAG_UPDATE_CURRENT)).build();
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("使用するプロファイル:");
for (String i : displayScopes) {
stringBuilder.append(i);
stringBuilder.append(", ");
}
stringBuilder.setLength(stringBuilder.length() - 2);
NotificationUtils.createNotificationChannel(context);
NotificationUtils.notify(context, NOTIFICATION_ID, stringBuilder.toString(), acceptAction, declineAction, detailAction);
}
}
public static void launch(Context context, int pageIndex) {
Intent mIntent = new Intent(context, LiveSubTypeActivity.class);
mIntent.putExtra(INTENT_KEY_PAGEINDEX, pageIndex);
context.startActivity(mIntent);
}
private void sendNext() {
Intent intent = new Intent(this, WASenderFgSvc.class);
intent.putExtra("start", false);
startService(intent);
}